首页 > 解决方案 > Flutter:如果页面已经被压入堆栈,如何重新打开它们?

问题描述

我正在学习 Flutter,我有一个关于导航的问题。我的应用程序有 3 个页面,每个页面都包含相同的抽屉,使用 navigator.push() 在它们之间导航。现在我可以一遍又一遍地推动“相同”页面,然后使用后退按钮 (navigator.pop) 一个又一个地重新打开它们。有没有办法只创建一次每个页面然后重新打开它,如果它已经被推送到堆栈中?

标签: androiddartflutter

解决方案


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


推荐阅读