provider 中的构造函数如何工作?

How to does constructors in provider works?

提问人:DR4NKR1D3R 提问时间:9/25/2022 最后编辑:DR4NKR1D3R 更新时间:9/25/2022 访问量:71

问:

class Brain with ChangeNotifier {
  List<List<IconData>> icon = [];

  Brain() {
    for (int i = 0; i < 10; i++) {
      List<IconData> temp = [];
      for (int j = 0; j < 10; j++) {
        temp.add(Icons.square_outlined);
      }
      icon.add(temp);
    }
    [...]
  }
}

经过一些测试,似乎提供商在每个小部件状态都调用它的构造函数,但是在更改某些图标后,我的图标列表不会重置。这怎么可能?

颤振 flutter-provider

评论


答:

0赞 mohammad esmaili 9/25/2022 #1

好吧,当你需要刷新你的 UI 时,你需要使用它,在你的进程完成后,在构造函数的末尾使用它,看看结果notifyListeners();Brain

Brain() {
    ...
    notifyListeners();
}

最好在构造函数之外使用一个函数并使用它,当您提供提供程序时,构造函数将创建一次,