来自父级的Flutter更新ListView

时间:2019-05-25 19:24:26

标签: listview flutter flutter-layout

我有一个对象列表,可以根据用户行为或后端的响应进行更改。

我创建了StatefulWidget,可以在我的应用中的多个位置使用

class EventList extends StatefulWidget {
final List<EventListModel> models;

EventList({Key key, this.models}) : super(key: key);

  @override
 State<StatefulWidget> createState() {
    // TODO: implement createState
 return _EventListState();
 }
}

class _EventListState extends State<EventList> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return ListView(
  padding: EdgeInsets.symmetric(vertical: 8.0),
  children: widget.models.map((EventListModel model) {
    return EventListItem(
      model: model,
    );
  }).toList(),
);
 }

}

如何从实例化ListView的地方更新此EventList?谢谢!

P.S。我正在从Android寻找类似notifyDataSetChanged()的东西。

1 个答案:

答案 0 :(得分:1)

在父级List中修改Widget时,必须调用setState()。子Widget将获得更新的List