如何在Flutter中重新加载Navigation.pop上的页面?

时间:2019-06-04 05:08:25

标签: flutter dart navigation

我想重新加载页面A,重新运行Http请求,一旦我从另一个页面弹出该页面,就可以编辑数据页面A了。另一页面是通过长按由页面A中的函数生成的ListView触发的。IE: 页面A:

_PageAState

  • 我需要调用的重载功能

脚手架

  • 列表项

  • 文本

  • ETC ...
  • 展开
    • 列表视图
      • 可导航的手势检测器
  • ETC

当我弹出功能时,如何触发任何功能或重新加载页面?

我曾尝试从pop传递数据并使用if语句,但是嵌套结构将其弄乱了。

1 个答案:

答案 0 :(得分:0)

当然,有一种方法可以做到! 如您所知,弹出的路由弹出时,第一条路由需要得到通知。

值得庆幸的是,有一个tutorial in the Flutter documentation处理来自Route的数据返回。 在您的情况下,不会返回任何数据,但是您仍然可以使用相同的原理来等待路由弹出:只需await Navigator.push调用! 一旦其他路线弹出,该路线就会返回。

await Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => OtherPage()),
);
// TODO: Now, refetch the data.