Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何刷新由小部件列表生成的listview.builder_Flutter_Dart - Fatal编程技术网

Flutter 如何刷新由小部件列表生成的listview.builder

Flutter 如何刷新由小部件列表生成的listview.builder,flutter,dart,Flutter,Dart,这里的会议列表是一个NewWidget的列表。 我使用_meetinglist[索引]创建了listview.builder 现在,当一个新的小部件添加到列表中时,如何刷新listview.builder 在这里,当我渲染所有屏幕时,listviewbuilder会刷新,就像回到屏幕一样。但是当我向列表中添加新的小部件时,我想刷新listviewbuilder class MeetingWidget extends StatefulWidget { final List meetingdet

这里的会议列表是一个NewWidget的列表。 我使用_meetinglist[索引]创建了listview.builder 现在,当一个新的小部件添加到列表中时,如何刷新listview.builder

在这里,当我渲染所有屏幕时,listviewbuilder会刷新,就像回到屏幕一样。但是当我向列表中添加新的小部件时,我想刷新listviewbuilder

class MeetingWidget extends StatefulWidget {
  final List meetingdetails;
  Function addMeeting;
  MeetingWidget({this.meetingdetails, this.addMeeting, Key key})
      : super(key: key);
  @override
  State<StatefulWidget> createState() {
    // TODO: implement createState
    return MeetingWidgetState();
  }
}

class MeetingWidgetState extends State<MeetingWidget> {
  List<NewWidget> _meetinglist = [];
  Map _userjson = Map();
  var booly = false;
  @override
  Widget build(BuildContext context) {
    globals.customerUsers.forEach((custuser) {
      if (custuser['Name'] == null || custuser['Name'] == '') {
        _userjson[custuser['id'].toString()] = custuser['userName'];
      } else {
        _userjson[custuser['id'].toString()] = custuser['Name'];
      }
    });
    widget.meetingdetails.asMap().forEach((index, tasks) {
      if (tasks['task'] == 'Meeting') {
        _meetinglist.add(NewWidget(
          key: UniqueKey(),
          booly: booly,
          index: index,
          addMeeting: widget.addMeeting,
          completed: tasks['task_status'],
          tasks1: tasks['task_title'],
          meetinglist: widget.meetingdetails,
          tasks3: tasks['task_date']['datetext'],
          dateValue: tasks['task_date']['date'],
          taskAssign: tasks['task_assign_to_id'].toString(),
          tasks4: tasks['task_date']['time12'],
       ));
      }
    });
    return _meetinglist.isEmpty
        ? Container(
            child: Center(
                child: Text(
            "No meetings Added",
            style: TextStyle(
                fontFamily: 'Poppins',
                fontWeight: FontWeight.w600,
                fontSize: 12,
                color: platformblue),
          )))
        : RefreshIndicator(
            onRefresh = _refresh,
            ListView.builder(
            itemCount: _meetinglist.length,
            itemBuilder: (BuildContext context, int index) =>
                _meetinglist[index],
            padding: EdgeInsets.only(bottom: 60),
            physics: BouncingScrollPhysics(),
          ));
  }
}
class MeetingWidget扩展了StatefulWidget{
最后名单会议详情;
功能会议;
MeetingWidget({this.meetingdetails,this.addMeeting,Key})
:super(key:key);
@凌驾
状态createState(){
//TODO:实现createState
return MeetingWidgetState();
}
}
类MeetingWidgetState扩展了状态{
列表_会议列表=[];
Map _userjson=Map();
var booly=false;
@凌驾
小部件构建(构建上下文){
globals.customerUsers.forEach((custuser){
if(custuser['Name']==null | | custuser['Name']==''){
_userjson[custuser['id'].toString()]=custuser['userName'];
}否则{
_userjson[custuser['id'].toString()]=custuser['Name'];
}
});
widget.meetingdetails.asMap().forEach((索引,任务){
如果(任务['task']=='Meeting'){
_meetinglist.add(NewWidget(
键:UniqueKey(),
布莉:布莉,
索引:索引,,
addMeeting:widget.addMeeting,
已完成:任务[“任务状态”],
任务1:任务['task_title'],
meetinglist:widget.meetingdetails,
任务3:任务['task_date']['datetext'],
dateValue:tasks['task_date']['date'],
taskAssign:tasks['task\u assign\u to\u id'].toString(),
任务4:任务['task_date']['time12'],
));
}
});
return\u meetinglist.isEmpty
?容器(
儿童:中心(
子:文本(
“未添加任何会议”,
样式:TextStyle(
fontFamily:“罂粟花”,
fontWeight:fontWeight.w600,
尺寸:12,
颜色:平台蓝),
)))
:刷新指示器(
onRefresh=\u refresh,
ListView.builder(
itemCount:_meetinglist.length,
itemBuilder:(BuildContext上下文,int索引)=>
_会议名单[索引],
填充:仅限边缘设置(底部:60),
物理:弹跳CrollPhysics(),
));
}
}

您是否遗漏了某个
设置状态()。不…实际上listview.builder正在使用_MeetingList中的小部件列表。您是否遗漏了某个
setState()
。不…实际上listview.builder正在使用会议列表中的小部件列表