首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter:在on之后执行下一步,然后完成

Flutter:在on之后执行下一步,然后完成
EN

Stack Overflow用户
提问于 2021-05-03 02:18:08
回答 2查看 22关注 0票数 1

我在我的应用程序中使用了块架构。我的代码块中的一个方法解析listView中挑选的address-ID并返回城市名称。在此之后,我希望我的Text-Editing-Controller具有这个拾取值,并将其显示在textediting域中:

BlocA使用一个简单的ID,并使用Google-Places API查找它。然后,BlocA返回一个新状态,并将解析后的地址作为状态属性。在点击listView-item之后,运行下面的代码没有显示正确的城市。

不幸的是,等待不起作用。

代码语言:javascript
复制
// ListView.builder code
onTap: () {
context
       .read<BlocA>()
       .add(PickAddress(id: state.searchResults[index].placeId));
FocusScope.of(context).unfocus(); //hide Keyboard
_textController.value = TextEditingValue(text: state.address.city);
EN

回答 2

Stack Overflow用户

发布于 2021-05-03 05:55:39

代码不够清楚记住使用"await“你必须在onTap上设置异步,如下所示

代码语言:javascript
复制
onTap: () async { ....

如果您这样做了,但仍然不能工作,请发送完整的代码

票数 0
EN

Stack Overflow用户

发布于 2021-05-03 06:18:46

你知道你的Bloc实际返回什么吗?使用调试器并单步执行代码,以查看代码中实际发生了什么。

当涉及到使用Bloc来构建状态时,您通常不会通过调用.state来访问状态。

_textController.value = TextEditingValue(text: state.address.city);行不是您访问状态的方式。当Bloc发送新状态时,小工具将基于新状态重新构建和呈现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67359732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档