Flutter 基于mobx的颤振可观测列表

Flutter 基于mobx的颤振可观测列表,flutter,dart,mobx,Flutter,Dart,Mobx,我试图创建一个可观察列表(即,当列表中的某个元素被更改、删除或添加时,我希望UI得到更新)。我知道mobx有一个叫做“可观察列表”的东西,所以这似乎是可能的。然而,我在执行它时遇到了问题。我的mobx存储文件中当前有以下代码: var metrics = Observable([.5,.5,.5]); 然后,我尝试更改其中一个元素,如下所示: metrics[index] = data; 我得到一个错误: 没有为类“Observable>”定义方法“[]=”。 有没有办法在flift中创建一

我试图创建一个可观察列表(即,当列表中的某个元素被更改、删除或添加时,我希望UI得到更新)。我知道mobx有一个叫做“可观察列表”的东西,所以这似乎是可能的。然而,我在执行它时遇到了问题。我的mobx存储文件中当前有以下代码:

var metrics = Observable([.5,.5,.5]);
然后,我尝试更改其中一个元素,如下所示:

metrics[index] = data;
我得到一个错误:

没有为类“Observable>”定义方法“[]=”。

有没有办法在flift中创建一个可观察列表(或者更好地说,一个可观察字典),或者还没有实现


谢谢

使用MobX,您需要创建带有
@action
注释的方法,以便在
可观察的
上收到更改通知

在你的店里,你一定有
在这种情况下,在
yourStore.metrics
可观察列表中进行一些更改后,将触发
Observer
builder回调并更新列表视图。

您可以使用我的代码。您需要添加“.of”来初始化列表

ObservableList<int> values = ObservableList<int>.of([1,2,3]);
Observer(
 builder: (context) =>
   ListView.builder(
     itemCount: yourStore.metrics.length,
     builder: (_, index) => Text('${yourStore.metrics[index]}'),
  ),
);
ObservableList<int> values = ObservableList<int>.of([1,2,3]);
values[index] = data;