为了账号安全,请及时绑定邮箱和手机立即绑定

Flutter知识点: Notification

标签:
Html/CSS

数据传输一般处理方式:自上而下的一层一层传递数据。

场景: WidgetB数据改变后,WidgetA也随之作出响应。

解决方案1: 参考Flutter知识点: InheritedWidget

解决方案2:Notification,子节点状态变更,发送通知上报。

1.自定义notification

class TestNotification extends Notification {
TestNotification({  @required this.count,
});final int count;
}

2.子节点发送通知

new RaisedButton(
       textColor: Colors.black,
       child: new Center(
         child: new Text('点击传递随机数给上层Widget'),
       ),
       onPressed: () {         new TestNotification(count: new Random().nextInt(100)).dispatch(key.currentContext);
       })

3.父节点使用NotificationListener进行监听子节点发出的通知,并作出响应

new NotificationListener(
           onNotification: (TestNotification n) {
             scaffoldStateKey.currentState.showSnackBar(new SnackBar(content: new Text('随机数:${n.count}')));             return true;
           },
           child: new TestAPage(
             key: key,
           ))

效果图

webp

11.jpeg



作者:老实巴交的读书人
链接:https://www.jianshu.com/p/d9e7e7ad4daa


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消