Flutter跨组件事件传递——Eventbus

2020-12-17  本文已影响0人  刘铁崧

一个简单好用的第三方工具——Eventbus:
地址:https://pub.dev/packages/event_bus

1.安装

pubspec.yaml文件导入:并执行pub get

event_bus: ^1.1.1

2.使用

全局创建一个eventBus对象

  final eventBus = EventBus();
class TSButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      child: Text("Eventbus"),
      onPressed: (){
          eventBus.fire("发送消息");
      },
    );
  }
}

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));
  }
}
上一篇 下一篇

猜你喜欢

热点阅读