Flutter跨組件事件傳遞——Eventbus

一個(gè)簡(jiǎn)單好用的第三方工具——Eventbus:
地址:https://pub.dev/packages/event_bus

1.安裝

pubspec.yaml文件導(dǎo)入:并執(zhí)行pub get

event_bus: ^1.1.1

2.使用

全局創(chuàng)建一個(gè)eventBus對(duì)象

  final eventBus = EventBus();
  • 發(fā)送消息widget
class TSButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
      child: Text("Eventbus"),
      onPressed: (){
          eventBus.fire("發(fā)送消息");
      },
    );
  }
}
  • 接受消息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));
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 步驟 1. 引入第三方庫 在 pubspec.yaml 引入 event_bus: ^1.1.1 2. 定義在組件...
    yytester閱讀 1,207評(píng)論 0 2
  • 邂逅FLutter 萬物皆是Widget 一般縮進(jìn)2個(gè)空格 文字居中 Widget Center() Materi...
    JackLeeVip閱讀 3,492評(píng)論 0 4
  • Flutter的需要與原生交互的一些常用庫 【說明】由于這些庫一直在更新,請(qǐng)自己選擇合適的穩(wěn)定版本下載。另外如果發(fā)...
    三也視界閱讀 2,375評(píng)論 0 6
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí),離放學(xué)已經(jīng)沒多少時(shí)間了。班主任說已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,805評(píng)論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽閱讀 10,805評(píng)論 0 11

友情鏈接更多精彩內(nèi)容