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 eventBus = EventBus();
eventBus.on<RoomFlush>().listen((event) {
// 觸發
});
至此,我的需求已經實作…
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/386626.html
標籤:其他
