Flutter:如果页面已经被压入堆栈,如何重新打开页面?

时间:2019-03-03 22:21:43

标签: android dart flutter

我正在学习Flutter,并且对导航有疑问。我的应用程序有3个页面,每个页面包含一个抽屉,可以通过navigator.push()在它们之间进行导航。现在,我可以一遍又一遍地推送“相同”页面,然后使用“返回”按钮(navigator.pop)一次又一次地重新打开它们。有没有办法只创建一次每个页面然后重新打开它(如果已经将其推入堆栈的话)?

2 个答案:

答案 0 :(得分:0)

不确定是否可以创建一次然后重新打开(保存状态和所有内容),但是我认为这种方法将帮助您实现所需的目标。

popUntil

pushAndRemoveUntil

Navigator class文档中有许多静态方法可能有用。

答案 1 :(得分:0)

我终于找到了一种方法,但是没有Navigator。我已经将所有脚手架放在PageWiew内,禁用了滑动操作,并向每个页面添加了AutomaticKeepAliveClientMixin。在抽屉中,我使用PageController.jumpToPage更改了Navigator.push代码。现在它可以按我的意愿工作,但是我仍然想知道这是否是“正确”的解决方案?