如何确定提供者更改模型的时间?

时间:2020-04-12 19:09:11

标签: flutter flutter-provider

考虑下课。每当appStateModel.bar更改时是否可以收听?我有一个场景,我想每次改变某个值时都执行动画,但是我似乎不知道该怎么实现。

class Foo extends StatelessWidget {
  const Foo();

  @override
  Widget build(BuildContext context) {
    var appStateModel = Provider.of<AppStateModel>(context);
    return Container(
      child: Text('${appStateModel.bar}'),
    );
  }
}

1 个答案:

答案 0 :(得分:0)

在更改通知程序中,应按所述包含notifyListeners()。 这样,它应该可以工作。

另一方面,您可以使用build方法对更改事件进行操作,因为小部件将在每次调用notifyListeners()时重新构建(至少在我的理解中)。

如果这不起作用,则有Consumer Widget,它使用一个通知程序并仅在调用notifyListeners()时重建。 此小部件还提供了一个子参数,使用该子参数可以节省性能,因为当通知程序更改时,它不需要重建。

我希望这可以解决您的问题。