步骤
1. 引入第三方库
在 pubspec.yaml
引入 event_bus: ^1.1.1
2. 定义在组件之间传递的对象
class UserInfo {
String nickname;
int level;
UserInfo(this.nickname, this.level);
}
3. 创建全局的EventBus对象
final eventBus = EventBus();
4. 在某个widget发出事件
FlatButton(
child: Text("Testbutton", style: TextStyle(color: Colors.white)),
color: Colors.orange, // 按钮的颜色
onPressed: () {
final info = UserInfo("why", 18);
eventBus.fire(info);
},
),
5. 在另一个widget监听事件
@override
void initState() {
super.initState();
eventBus.on<UserInfo>().listen((data) {
setState(() {
m