Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振导航参数不随更改而更新?_Flutter_Flutter Navigation_Flutter Provider - Fatal编程技术网

Flutter 颤振导航参数不随更改而更新?

Flutter 颤振导航参数不随更改而更新?,flutter,flutter-navigation,flutter-provider,Flutter,Flutter Navigation,Flutter Provider,我的顶级小部件显示可以进入的游戏列表。当有人点击游戏时,他们会通过 onTap:(){ 导航器。推( 上下文 材料路线( 生成器:(上下文)=>EditRosterPage(花名册:花名册), ), } 创建一个花名册小部件,帮助他们选择他们的团队。用户将尝试编辑花名册,该小部件依次要求提供者库中的ChangeNotifierProvider更新其状态。然后提供者将通知我的顶级小部件花名册已更改。它将成功更新并收到更新的花名册——但同一个更新的花名册不会通过MaterialPageRoute传

我的顶级小部件显示可以进入的游戏列表。当有人点击游戏时,他们会通过

onTap:(){
导航器。推(
上下文
材料路线(
生成器:(上下文)=>EditRosterPage(花名册:花名册),
),
}
创建一个花名册小部件,帮助他们选择他们的团队。用户将尝试编辑花名册,该小部件依次要求
提供者
库中的
ChangeNotifierProvider
更新其状态。然后
提供者
将通知我的顶级小部件花名册已更改。它将成功更新并收到更新的花名册——但同一个更新的花名册不会通过
MaterialPageRoute
传递,用户看不到他们已经更新了任何内容


通过导航传递的属性的这种预期行为是只传递一次,还是我遗漏了什么?

你找到了这个问题的答案吗?我假设这是一个很常见的模式,但令人惊讶的是似乎没有明确的解决方案。然而,鉴于你的结构,颤振提供者已经在使用中,我建议est,您只传递listItem onTap的navigator push中的索引。然后您从提供程序检索所选项目。对我来说,我使用的StreamBuilder具有异步快照,没有存储本地状态,因此实际上不可能找到解决方案:(是的,对于仍然依赖提供程序的项目,我只传递项目的id,而不是项目的id,然后我使用提供程序再次获取它们。提供程序不会超出其导航树,因此这种行为是可以预期的。是的,这也让我感到惊讶,这个问题很少出现,但解决方案虽然有点冗长,但确实存在劳动