我的应用程序进行了api调用,并返回了列表。使用FutureBuilder
获取数据。一个足够标准的实现。在initState
中进行Api呼叫。
.....
Widget build(BuildContext context) {
appBar: AppBar(
actions: [IconButton(icon: Icon(Icons.search), onPressed: () {
showSearch(context: context, delegate:DashboardSearch());
})],
return...
FutureBuilder<List<Dashboard>>(
future: Stream.fromFuture(dashboards),
builder: (context, snapshot) {
return ListItemsBuilder<Dashboard>(
snapshot: snapshot,
itemBuilder: (context, dashboard) => DashboardListTile(
dashboard: dashboard,
));
},
)
......
@override
void initState() {
super.initState();
dashboards = getDashboards(context);
}
...
我正在尝试使用SearchDelegate来实现搜索功能。覆盖的方法之一是
class DashboardSearch extends SearchDelegate<Dashboard> {
List<Dashboard> dashboards;
......
@override
Widget buildSuggestions(BuildContext context) {
return ..
}
.....
}
DashboardSearch
的实例被传递到我可以访问列表的appBar中的参数showSearch
。
我需要构建的建议是api调用返回的列表。我不确定在应用栏中实现此效果的最佳方法。