小编Jak*_*kub的帖子

Flutter showSearch 构建建议时的异步操作

我正在使用 flutter showSearch 函数来搜索地址。到目前为止一切正常。现在我想实现每次用户更改搜索输入时都会重建的建议。为此,我使用 flutter 地理编码库。

问题是我不知道在使用 buildSuggestions 函数构建建议时如何执行异步操作。

显然我不能简单地使 buildSuggestions 函数异步,但如果可以的话我的代码将如下所示:

@override
Future<Widget> buildSuggestions(BuildContext context) async {

  var addresses = await Geocoder.local.findAddressesFromQuery(query);

  final Iterable<Address> suggestions = query.isEmpty
      ? _history
      : addresses;

  return _SuggestionList(
    query: query,
    suggestions: suggestions.map<String>((String i) => '$i').toList(),
    onSelected: (String suggestion) {
      query = suggestion;
      this.close(context, query);
    },
  );
}
Run Code Online (Sandbox Code Playgroud)

一定有办法实现我想做的事情。有什么建议么?

更新:

在 Frank06 的帖子的帮助下,我编写了以下代码:


   @override
  Widget buildSuggestions(BuildContext context) {
    return FutureBuilder(
        future: Geocoder.local.findAddressesFromQuery(query),
        builder: (BuildContext context, AsyncSnapshot<List<Address>> snapshot) {
          // check if snapshot.hasData

          if (snapshot.connectionState == …
Run Code Online (Sandbox Code Playgroud)

android asynchronous dart flutter

2
推荐指数
1
解决办法
3057
查看次数

标签 统计

android ×1

asynchronous ×1

dart ×1

flutter ×1