Flutter,如何刷新 Navigator.pop 上的最后一个页面状态

Sim*_*n B 2 android back ios dart flutter

我有页面,p1 和 p2。当您启动应用程序时,您位于 p1 并且可以打开 p2。我希望当您使用后退按钮离开 p2 时,p1 状态刷新(就像再次调用 initState() 而不使用 Navigator.push 或使用 WillPopScope 创建新路线)。

是否可以 ?

小智 6

您可以在弹出第二个屏幕后调用一个方法来刷新第一个页面状态。

p1:

refreshState() {
  // change your state to refresh the screen
}

Navigator.push(context, MaterialPageRoute(builder: (context) => p2()),).then((res) => refreshPage());
Run Code Online (Sandbox Code Playgroud)

p2:

Navigator.pop(context);
Run Code Online (Sandbox Code Playgroud)