一个简单好用的第三方工具——Eventbus:
地址:https://pub.dev/packages/event_bus
1.安装
pubspec.yaml文件导入:并执行pub get
event_bus: ^1.1.1
2.使用
全局创建一个eventBus对象
final eventBus = EventBus();
- 发送消息widget
class TSButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return RaisedButton(
child: Text("Eventbus"),
onPressed: (){
eventBus.fire("发送消息");
},
);
}
}
- 接受消息widget
class TSText extends StatefulWidget {
@override
_TSTextState createState() => _TSTextState();
}
class _TSTextState extends State<TSText> {
String _message = "hello";
@override
void initState() {
// TODO: implement initState
super.initState();
eventBus.on<String>().listen((event) {
setState(() {
_message = event;
});
});
}
@override
Widget build(BuildContext context) {
return Text(_message,style: TextStyle(color: Colors.red,fontSize: 20));
}
}
网友评论