【发布时间】:2021-01-01 05:42:14
【问题描述】:
我创建了一个 ChangeNotifier 并将其添加到 main.dart 提供程序列表中,如下所示:
ChangeNotifierProvider<AppState>(
create: (context) => AppState(),
);
我有一个对话框,我用ChangeNotifierProvider.value 包装了一个对话框,以便访问对话框内的提供程序,如下所示:
showDialog(
context: context,
builder: (BuildContext context) {
return ChangeNotifierProvider.value(
value: AppState(),
child: LanguageDialog(),
);
});
});
但问题是,当我在对话框内的提供程序状态中设置一些数据时,只要我在对话框内,它就可以正常工作!当我关闭对话框时,状态会重置!我不知道为什么会这样。 我也尝试在另一个路由中设置一些状态,结果是该路由中的状态数据与对话框不同。
我在这里做错了什么?
【问题讨论】: