【发布时间】:2021-03-22 18:23:13
【问题描述】:
我一直在使用颤振块,但我有一个问题,我不知道解决它的最佳方法是什么。
我有一个使用块的小部件。这个小部件有一个输入文本字段和一个按钮,用于触发调用bloc.sendRequest(text) 的网络请求。该集团根据服务器响应发出ResponseState(bool success, string message)。如果出现错误,块生成器将显示一个弹出窗口,显示错误消息并要求用户更改输入字段。
当用户在显示错误弹出后按下文本输入时出现问题。 Flutter 刷新 builder bloc 并且 used 状态是前一个,它包含已经显示的错误消息,导致 builder 再次显示弹出窗口。解决这种情况的最佳方法应该是什么?我已经想到了一些解决方案:
- 给
ResponseState添加时间戳,如果状态和之前一样就不要重建builder。 - 让
bloc.sendRequest(text)调用返回结果,并在Future完成后显示弹出窗口 - 使用
ResponseState中的时间戳跟踪已显示哪些弹出窗口以避免显示两次
解决此问题的最佳方法应该是什么?我错过了什么?
谢谢,
【问题讨论】:
-
你在 didChangeDependencies 中做了什么吗?你能给我们看一下整个 dart 文件吗?
-
文字太多,没有代码
标签: android ios flutter dart flutter-bloc