我在我的应用程序中使用多提供商。 Provider 工作得很好,它存储数据,并且在任何事情发生变化时提供完美的事件。
现在,我的应用程序中有这个场景 ->
用户 1 已登录。现在,当我在同一登录中添加第二个帐户(例如 Gmail - 多帐户)时,提供商会向我返回旧值。
我尝试搜索提供者的重置值,但无法找到与之相关的任何内容。
尝试过但没有成功:
- 创建了要重置的新提供者对象。
Provider.of<LoginProvider>(context).dispose();
要更新 Provider 值,您可以使用以下命令调用它.value()
构造函数并使用状态相关变量。
class SomeWidgetState extends State<SomeWidget> {
Logins logins = [];
void addLogin(Login newLogin) {
setState((){
logins = [...logins, newLogin];
});
}
@override
Widget build(BuildContext context) {
return Provider.value(
value: logins,
child: OtherWidget(),
);
}
打电话时addLogin
Provider 中的注册值将被更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)