【发布时间】:2020-12-16 14:50:48
【问题描述】:
我是 Flutter 新手,正在尝试使用 Bloc 架构构建应用程序。
我可以设法找出一个接收器,输入我的事件bloc.updateNavigation(_selectedItem.value);。我还想出了如何通过调用我的 bloc 来使用这些数据(这就是它的名字)。我有一个 TextFormField 并更改了一些设置,例如 if (bloc.navigationProvider.currentNavigation == 1)、if (bloc.navigationProvider.currentNavigation == 2)
有一件事我不知道该怎么做。每当集团发生变化时,我想设置_Controller.clear();。因此,每当用户进行新选择并更改“currentNavigation”时,文本控制器都会清除。有没有一种方法可以让我知道何时进行了更改,而不必通过更改来调用。我想做类似if (change is made to currentNavigation) {_Controller.clear();}
我的 bloc 文件如下所示:
class NavigationBloc {
final navigationController = StreamController();
NavigationProvider navigationProvider = new NavigationProvider();
Stream get getNavigation => navigationController.stream;
void updateNavigation(int navigation) {
navigationProvider.updateNavigation(navigation);
navigationController.sink.add(navigationProvider.currentNavigation);
}
void dispose() {
navigationController.close();
}
}
final bloc = NavigationBloc();
【问题讨论】:
标签: flutter bloc stream-builder