Flutter中的notifyListeners无法正常工作

时间:2019-07-01 14:58:12

标签: android ios flutter dart

我有一个在构建中调用notifyListeners和ScopedModelDescendant Widget的模型,即使它100%调用了notifyListeners(),它也不会更新构建。

我调查了一下,看来_listeners中没有模型。

class MyModel extends Model {

  void notify() {
    notifyListeners();
  }

}

class Main extends StatefulWidget {

  _MainState createState() => _MainState();

}

class _MainState extends State<StatefulWidget> {

  Widget build(BuildContext context) {
    return ScopedModel<MyModel>(
      model: new MyModel(),
      child: ScopedModelDescendant<MyModel>(
        builder: (context, child, model) {...}
      ),
    );
  }

}

因此,正如我预期的那样,在调用notify时,{...}中的任何内容都应该重建,但事实并非如此。

1 个答案:

答案 0 :(得分:0)

我尝试使用getTemp()中提供的sample复制此行为,但是屏幕按预期更新。我对示例进行了一些修改以匹配您的部分代码。您可以尝试一下。

ListenableFuture<>

此外,我很好奇为什么可以轻松更新scope_model时需要使用stateful and stateless widgets来更新屏幕上的小部件。