【发布时间】:2021-11-14 20:51:18
【问题描述】:
我有两个包含自定义模型的 RxList:
var openDepartures = RxList<Departure>([]);
var finishedDepartures = RxList<Departure>([]);
我绑定了一个流以使用来自 firebase 的值填充这些 RxList。由于我的流(我绑定到变量)根据用户的选择而变化,我将新流绑定到同一个变量,但是由于这会导致两个流控制一个变量,我在此之前“重置”变量:
openDepartures = RxList<Departure>();
finishedDepartures = RxList<Departure>();
....
openDepartures.bindStream(
Database().getOpenDepartures(
userController.userLocation.value,
),
);
finishedDepartures.bindStream(
Database().getFinishedDepartures(
userController.userLocation.value,
),
);
问题是 UI 没有刷新,但是当我不“重置”变量时,一切正常。奇怪的是,该变量确实填充了正确的数据。它只是没有显示在 UI 中。
我试图解决的问题:
- update() 方法
- Get.reloadAll()
- 对变量调用 .refresh()
- 再次配置和初始化控制器
我现在的问题是,如何让屏幕刷新,或者是否有人知道如何绑定新流而不“重置”旧流并在一个变量上拥有多个流?
【问题讨论】:
标签: firebase flutter dart flutter-getx