android – 将数据广播到Flutter中的多个小部件

前端之家收集整理的这篇文章主要介绍了android – 将数据广播到Flutter中的多个小部件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法将数据从一个小部件广播到其他小部件?类似于 Android上的BroadcastReceiver或iOS上的NSNotificationCenter.

具体来说,我试图检测导航器何时弹出或推送新视图.我将navigatorObservers添加到MaterialApp.当一个小部件回到前台时,我希望能够通过广播didPush和didPop的变化来通知它,当前前景中的实际路由

解决方法

Navigator.push返回一个将在调用Navigator.pop时完成的Future(这可以选择用于将数据传递回调用push的小部件).例如,假设您的登录按钮具有此onPressed处理程序:

onPressed: () async {
  bool isLoggedIn = await Navigator.pushNamed(context,'/login');
  if (isLoggedIn) {
    // do something
  }
}

当您的登录页面调用Navigator.pop(true)时,Future将以值true完成,该值将分配给isLoggedIn变量. (如果用户使用后退按钮返回上一个屏幕,您将获得null.)

这就是showDialog的工作原理.

猜你在找的Flutter相关文章