如何在FutureBuilder中使用搜索委托

时间:2020-10-12 22:22:14

标签: flutter

我的应用程序进行了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调用返回的列表。我不确定在应用栏中实现此效果的最佳方法。

0 个答案:

没有答案