我有一个对象列表,可以根据用户行为或后端的响应进行更改。
我创建了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()
的东西。
答案 0 :(得分:1)
在父级List
中修改Widget
时,必须调用setState()
。子Widget
将获得更新的List
。