flutter 在页面弹出时做更改

flutter do changes upon page gets pop

我有第 1 页和第 2 页。

第 1 页是我的基本页面,我正在为第 2 页做 Navigator.push。在 Page2 中完成我的逻辑后,我将 Navigator.pop() 到 return 返回到 Page1。

我如何知道第 1 页已成为用户可见的主页?

我试过ModalRoute.of(context).isCurrent,但我只想知道第 2 页何时从第 1 页弹出。

您可以 awaitPage1 完成并传递 Page2 所需的一些数据,以确保 Page2 已从导航器堆栈中弹出。

第 1 页

bool result = await Navigator.push(context,..);

第 2 页

Navigator.pop(context,"some data");

然后你的 result 将保持值 "some data" 如果它在 Page1 上。你可以类似地传递一个布尔值或其他所需的数据并比较它以了解 Page2 已弹出。

第 2 页

//here value is dynamic so you can send any type of data here
    Navigator.pop("value");

第 1 页

Navigator.pushNamed(context, Page2.routeName)
        .then((value) {
//here you will get value that you passed in Page2 of any type

});