В настоящее время я перехожу с flutterflow на flutter, и сталкиваюсь с проблемами управления состоянием, когда на странице, содержащей видео для создания списка воспроизведения обычным пользователем, есть флажок, и при выборе флажка он должен получить элемент публикации видео с соответствующей информацией и в настоящее время это не работает, вот соответствующий код флажка
В настоящее время я перехожу с flutterflow на flutter, и сталкиваюсь с проблемами управления состоянием, когда на странице, содержащей видео для создания списка воспроизведения обычным пользователем, есть флажок, и при выборе флажка он должен получить элемент публикации видео с соответствующей информацией и в настоящее время это не работает, вот соответствующий код флажка [code]class PostItem extends StatefulWidget { final QueryDocumentSnapshot post;
// Handle checkbox state change here if (newValue == true) { String videoId = post['postID']; String thumbnail = post['thumbnail']; String videoUrl = post['video_url']; String postUser = post['post_user'];
// Add the selected item to the list _model.checkboxCheckedItems.add({ 'postID': videoId, 'thumbnail': thumbnail, 'videoUrl': videoUrl, 'postUser': postUser, } as UserPosts2Record); } else { // Remove the item from the list if unchecked _model.checkboxCheckedItems.removeWhere( (element) => element.postID == post['postID'], ); } }, ) [/code] модель страницы [code]import '/backend/backend.dart'; import '/flutter_flow/flutter_flow_util.dart'; import 'contentfeed2_widget.dart' show Contentfeed2Widget; import 'package:flutter/material.dart';
class Contentfeed2Model extends FlutterFlowModel { /// Local state fields for this page.
bool ischecked = false;
bool ischeckedfree = false;
bool isliked = false;
bool paid = false;
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode(); // Stores action output result for [Firestore Query - Query a collection] action in Button widget. PurchaseHistoryRecord? boughtornot; // State field(s) for Checkbox widget. Map checkboxValueMap = {}; List get checkboxCheckedItems => checkboxValueMap.entries.where((e) => e.value).map((e) => e.key).toList();
// Stores action output result for [Firestore Query - Query a collection] action in Checkbox widget. UserPosts2Record? checkboxpostid; // Stores action output result for [Backend Call - Create Document] action in IconButton widget. PlaylistRecord? makeplaylistpurchasedpost; // Stores action output result for [Backend Call - Create Document] action in IconButton widget. PlaylistactualRecord? makeplaylist;
context.pushNamed( 'createplaylist', queryParameters: { 'createplaylist': serializeParam( _model.makeplaylist, ParamType.Document, ), }.withoutNulls, extra: { 'createplaylist': _model.makeplaylist, }, ); } else { // Show a message or handle the case when nothing is selected ScaffoldMessenger.of(context).showSnackBar( const SnackBar( content: Text('Please select at least one item')), ); } }, ) [/code] и страница создания плейлиста принимает этот параметр [code]class CreateplaylistWidget extends StatefulWidget { const CreateplaylistWidget({ super.key, required this.createplaylist, }); [/code] Я пытался узнать о решении для управления состоянием, например, о приведении типов блоков для Firebase и изменении параметров запроса.