Flutter通知另一个页面刷新状态(EventBus)
Posted HackShendi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter通知另一个页面刷新状态(EventBus)相关的知识,希望对你有一定的参考价值。
Hello, I’m Shendi
在 Flutter 中,可以通过 setState 函数刷新状态
但是 setState 函数只能在状态类里使用
于是当需要在页面跳转后能通知跳转的页面就需要使用到一些库
这里介绍 EventBus(事件总线) 的使用
添加库
首先在 pubspec.yaml 文件中添加库,版本可根据官方的添加最新的,这里使用 2.0.0
# 事件总线
event_bus: ^2.0.0
引入包
import 'package:event_bus/event_bus.dart';
创建 EventBus
EventBus eventBus = EventBus();
创建事件类型
这里直接用类定义,也可以设置创建此类型时需要传递的参数等…
我的需求仅仅是通知另一个页面刷新,所以这里只是定义一个类即可
class RoomFlush
发送事件
通过 fire 进行发送事件,参数为事件类型
EventBus eventBus = EventBus();
eventBus.fire(RoomFlush());
监听事件
通过 on<事件类型>().listen() 监听事件
eventBus.on<RoomFlush>().listen((event)
// 触发
);
ps: 同一条总线才有效
至此,我的需求已经实现…
以上是关于Flutter通知另一个页面刷新状态(EventBus)的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 状态管理 | StreamBuild 局部刷新的效果Flutter局部刷新