有没有一种方法可以将数据从一个小部件广播到其他小部件?类似于 Android 上的 BroadcastReceiver 或 iOS 上的 NSNotificationCenter。
具体来说,我试图检测导航器何时弹出或推送新视图。我将 navigatorObservers 添加到 MaterialApp 中。当小部件返回前台时,我希望能够通过广播 didPush 和 didPop 的更改以及当前前台的实际路由来通知它
Navigator.push
返回一个Future
这将完成时Navigator.pop
被调用(并且这可以选择用于将数据传递回调用的小部件push
)。例如,假设您的登录按钮有这个onPressed
处理程序:
onPressed: () async {
bool isLoggedIn = await Navigator.pushNamed(context, '/login');
if (isLoggedIn) {
// do something
}
}
当您的登录页面调用时Navigator.pop(true)
, the Future
将完成的值为true
这将被分配给isLoggedIn
多变的。 (你会得到null
如果用户使用后退按钮返回到上一屏幕。)
就是这样showDialog
也有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)