android - Flutter:如果页面已经被压入堆栈,如何重新打开它们?
问题描述
我正在学习 Flutter,我有一个关于导航的问题。我的应用程序有 3 个页面,每个页面都包含相同的抽屉,使用 navigator.push() 在它们之间导航。现在我可以一遍又一遍地推动“相同”页面,然后使用后退按钮 (navigator.pop) 一个又一个地重新打开它们。有没有办法只创建一次每个页面然后重新打开它,如果它已经被推送到堆栈中?
解决方案
我终于找到了一种方法,但没有导航器。我已将所有 Scaffolds 放在 PageWiew 中,禁用滑动操作并将 AutomaticKeepAliveClientMixin 添加到每个页面。在抽屉中,我用 PageController.jumpToPage 更改了 Navigator.push 代码。现在它正在按我的意愿工作,但我仍然想知道这是否是“正确”的解决方案?
推荐阅读
- sql - SQL Join 与具有 NOT 条件的映射表
- python - FileNotFoundError:[Errno 2] 没有这样的文件或目录:'-f'
- python-multiprocessing - 使用 lock.acquire 和 release 在多处理循环中获取更新的值
- arrays - 如何替换数组中的键
- django - Django - 媒体共享/流媒体
- python - BeautifulSoup: Select P tag that comes after another P tag which should contain a link
- reactjs - 在 ReactJS 中使用 AvatarAPI
- java - 如何在 Java 应用程序中执行存储为字符串的 mongo 查询?
- ruby-on-rails - 在 ec2 上部署 Rails
- gravityforms - 将 Gravity 表单头部 DOM 脚本移动到页脚