我想重新加载页面A,重新运行Http请求,一旦我从另一个页面弹出该页面,就可以编辑数据页面A了。另一页面是通过长按由页面A中的函数生成的ListView触发的。IE: 页面A:
_PageAState
脚手架
列表项
文本
当我弹出功能时,如何触发任何功能或重新加载页面?
我曾尝试从pop传递数据并使用if语句,但是嵌套结构将其弄乱了。
答案 0 :(得分:0)
当然,有一种方法可以做到! 如您所知,弹出的路由弹出时,第一条路由需要得到通知。
值得庆幸的是,有一个tutorial in the Flutter documentation处理来自Route
的数据返回。
在您的情况下,不会返回任何数据,但是您仍然可以使用相同的原理来等待路由弹出:只需await
Navigator.push
调用!
一旦其他路线弹出,该路线就会返回。
await Navigator.push(
context,
MaterialPageRoute(builder: (context) => OtherPage()),
);
// TODO: Now, refetch the data.