我正在学习Flutter,并且对导航有疑问。我的应用程序有3个页面,每个页面包含一个抽屉,可以通过navigator.push()在它们之间进行导航。现在,我可以一遍又一遍地推送“相同”页面,然后使用“返回”按钮(navigator.pop)一次又一次地重新打开它们。有没有办法只创建一次每个页面然后重新打开它(如果已经将其推入堆栈的话)?
答案 0 :(得分:0)
不确定是否可以创建一次然后重新打开(保存状态和所有内容),但是我认为这种方法将帮助您实现所需的目标。
Navigator class文档中有许多静态方法可能有用。
答案 1 :(得分:0)
我终于找到了一种方法,但是没有Navigator。我已经将所有脚手架放在PageWiew内,禁用了滑动操作,并向每个页面添加了AutomaticKeepAliveClientMixin。在抽屉中,我使用PageController.jumpToPage更改了Navigator.push代码。现在它可以按我的意愿工作,但是我仍然想知道这是否是“正确”的解决方案?