【发布时间】:2019-03-27 19:00:47
【问题描述】:
我有 2 个屏幕 - 屏幕 A 和屏幕 B。我从屏幕 A 导航到屏幕 B。
当我通过从导航堆栈中弹出屏幕 B 返回屏幕 A 时,我想采取一些特定的操作。
我知道我可以使用didUpdateWidge,但我想不出一种有效的方法。
在这里使用Inherited Widget 正确吗?
【问题讨论】:
标签: flutter navigation
我有 2 个屏幕 - 屏幕 A 和屏幕 B。我从屏幕 A 导航到屏幕 B。
当我通过从导航堆栈中弹出屏幕 B 返回屏幕 A 时,我想采取一些特定的操作。
我知道我可以使用didUpdateWidge,但我想不出一种有效的方法。
在这里使用Inherited Widget 正确吗?
【问题讨论】:
标签: flutter navigation
Navigator.push[Named] 返回一个Future,它在屏幕 B 弹出时完成。所以在弹出后添加你要执行的代码到then。
Navigator.pushNamed(context, '/someRoute').then((_) {/* do stuff here */});
【讨论】:
尝试使用WillPopScope。这个小部件允许捕捉返回按钮按下。
【讨论】: