在本节中,我们将了解 NyListView 小部件。NyListView 用于处理 Flutter 项目中的列表视图。它的工作方式与常规 ListView 小部件相同,但它具有一些额外的功能,使其更易于使用。
用法
@override
Widget build(BuildContext context) {
return NyListView(child: (BuildContext context, dynamic data) {
return ListTile(
title: Text(data['title'])
);
}, data: () async {
return [
{"title": "Clean Room"},
{"title": "Go to the airport"},
{"title": "Buy new shoes"},
{"title": "Go shopping"},
{"title": "Find my keys"}
];
});
}
NyListView 组件需要两个参数:
- child - 这是将为列表中的每个项目显示的组件。
- data - 这是将显示在列表中的数据。
提示:您可以使用小
NyListView.separated组件在列表中的每个项目之间添加分隔线。
参数
以下是您在使用 NyPullToRefresh 小部件之前应该了解的一些重要参数。
| 属性 | 类型 | 描述 |
|---|---|---|
| child | Widget Function(BuildContext context, dynamic data) {} | 数据可用时将显示的子小组件。 |
| data | Future Function() data | 希望列表视图使用的数据列表。 |
| stateName | String? stateName | 您可以使用 来 stateName 命名状态,稍后您将需要此键来更新状态。 |
如果您想了解所有可用的参数,请访问此处的此链接。
更新状态
您可以通过引用 stateName 参数来更新 NyListView 小组件的状态。
// e.g.
@override
Widget build(BuildContext context) {
return NyListView(
child: (BuildContext context, dynamic data) {
return ListTile(title: Text(data['title']));
},
data: () async {
return [
{"title": "Clean Room"},
{"title": "Go to the airport"},
{"title": "Buy new shoes"},
{"title": "Go shopping"},
];
},
stateName: "my_list_of_todos",
);
}
_updateListView() {
updateState("my_list_of_todos");
}
这将触发 State 重新启动并从 data 参数加载新数据。