从导航堆栈弹出后打开屏幕时会调用哪个函数?

时间:2019-03-27 19:00:48

标签: flutter navigation

我有2个屏幕-屏幕A和屏幕B。我从屏幕A导航到屏幕B。 当我从导航堆栈中弹出屏幕B返回到屏幕A时,我想采取一些特殊的措施。 我知道我可以使用didUpdateWidge,但我想不出一种有效的方法。 在这里使用Inherited Widget是否正确?

2 个答案:

答案 0 :(得分:1)

Navigator.push[Named]返回一个Future,该事件在屏幕B弹出时完成。因此,请在弹出后将要执行的代码添加到then

  Navigator.pushNamed(context, '/someRoute').then((_) {/* do stuff here */});

答案 1 :(得分:0)

尝试使用WillPopScope。此小部件可让您捕捉按钮按下的情况。