微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何转换未来 列出来?

如何解决如何转换未来 列出来?

借用的例子search_widget你需要dataList在这样的小部件:

SearchWidget<leaderBoard>(
   dataList: list,
   textFieldBuilder: (TextEditingController controller, FocusNode focusNode) {
     return MyTextField(controller, focusNode);
   },
 )

当然,你可以转换Future<List>List像其他答案建议。但是您 做,dataList: await _sqliteCall();因为build方法被设计为纯同步的。

未来完成时,您将必须返回诸如进度指示器之类的东西。为此,您可以使用FutureBuilder

FutureBuilder<List<leaderboard>>(
  future: _sqliteCall(),
  builder: (context, snapshot) {
    if (snapshot.hasData) {
      return SearchWidget<leaderBoard>(
        dataList: snapshot.data,
        textFieldBuilder: (TextEditingController controller, FocusNode focusNode) {
          return MyTextField(controller, focusNode);
        },
      )
    }
    return CircularProgressIndicator();
  }
),

当然,也可以使用来完成此操作StatefulWidget,您可以查看本文以获取有关该问题的详细说明

解决方法

我正在使用名为的Flutter插件search_widget。此小部件的data参数带有一个列表。但是,当我sqlite用于获取数据时,我将其保存为Future<List>表格。有什么办法可以转换Future<List>List?或任何其他方式使它起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。