在Flutter 中,显示了路由/a.然后我按下编辑按钮,这会推动/b号路由.路由/b更改了SQLite DB中的数据,然后我调用Navigator.pop,返回到路由/a.

现在,路径/a显示数据的旧(未编辑)版本.

在某种程度上,我需要/b路向/a路发送一个"更新"信号.

怎么做呢?我得到的最佳解决方案是在pushNamed arguments参数中传递小部件/a(或更好的状态).然而,这很尴尬,特别是因为这需要将onUpdate处理程序向下传递给/a的子小部件,该子小部件可能通过几个小部件的链从数据库中读取数据.我在这里描述的方式是惯用的Flutter 方式,还是有更好的解决方案?

推荐答案

等待另一条路由的结果.

final result = await Navigator.push(...);

返回结果.

Navigator.pop(context, 'Hello!');

有关详细信息,请参阅Return data from a screen.

Flutter相关问答推荐

无法在GroupButton内部正确呈现

Flutter -如何将导航轨道标签靠左对齐?

Flutter 隔离.使用多个参数运行

如何删除使用isscllable时出现的左边距?

如何在Flutter 中共享选定文本

Android Studio扩展控件上未加载Google map

Flutter :URI的目标不存在

如何将带有参数的函数传递给FIFTH中的自定义小部件

Flutter卡内容未在水平列表视图中居中

Flutter 附近的连接

当 Dart SDK 版本范围不匹配时,为什么依赖解析器不会抛出错误?

Dart 和 flutter 错误无法在您的 PATH 中找到 git

Flutter中pubspec.yaml文件中的name参数是什么?

升级到 Flutter 3.10 后,Flutter 键盘填充不起作用. Flutter 3.10 如何防止 BottomSheet 被键盘覆盖?

Flutter url_launcher 插件抛出java.lang.IllegalArgumentException:接收器未注册:io.flutter.plugins.urllauncher.WebViewActivity

如何将此文本按钮剪辑在堆栈中的圆形头像上方?

Flutter Dart 功能弹出错误的小部件?

Flutter如何从左到右连续 Select 多个列表项而不跳过任何

这在Flutter 的 pubspec 文件中是什么意思?

Flutter .replaceFirst(或全部)不起作用