Flutter Mobx 在构建器函数中没有检测到可观察对象

ssu*_*hat 1 flutter mobx

嗨,我得到了简单的 observable 测试加载状态。

abstract class _AccountStore with Store {
  @observable
  bool loadingButtonStatus = false;


  @observable
  bool get loading => loadingButtonStatus;


  @action
  Future updateAccount(formData) async {
    loadingButtonStatus = true;

    Future.delayed(Duration(milliseconds: 2000)).then((future) {
      loadingButtonStatus = false;
    }).catchError((e) {
      loadingButtonStatus = false;
      print(e);
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我的小部件

AccountStore store = AccountStore();

Observer(
  name: 'loading_button',
  builder: (_) => LoadingButton(
        loading: store.loading,
        text: Text('Save'),
        onPressed: () {
          store.updateAccount({});
        },
))
Run Code Online (Sandbox Code Playgroud)

但每次我运行代码时,它总是返回给我: There are no observables detected in the builder function

我试过改变用途store.loadingButtonStatus还是一样。

任何解决方案?

谢谢。

Rah*_*rma 12

我有同样的问题,但上面的答案对我不起作用,而且代码也是正确的。我的part没有更新。

只需在终端中运行此命令

flutter packages pub run build_runner build

我希望这会起作用。


All*_*adu 6

如果您使用 getter,则需要使用 @computed。

  @observable
  bool _loadingButtonStatus = false;


  @computed
  bool get loading => _loadingButtonStatus;
Run Code Online (Sandbox Code Playgroud)