flutter - 如何从没有导航的祖先那里获得导航
问题描述
我有几个这样的屏幕之旅:
FirstScreen() -> SecondScreen() -> ThirdScreen() -> ResultScreen()
第一个屏幕FirstScreen()
使用底部导航来浏览应用程序和其他与此处无关的不同屏幕。
在上面我的主要旅程的示例中,我使用类似于这样的每个屏幕推送:
Navigator.of(context, rootNavigator: true).push(ScaleRoute(page: SecondScreen()));
Then from Second to Third screen too
Navigator.of(context, rootNavigator: true).push(ScaleRoute(page: ThirdScreen()));
//ScaleRoute is just a custom animation, not important
注意我使用rootNavigator: true
是因为我不想在第二和第三屏幕中导航。
但是,ThirdScreen 中的成功事件将运行此:
Navigator.of(context, rootNavigator: false).pushAndRemoveUntil(
SlideBottomRoute(
page: ResultScreen()
),
(route) => route.isFirst,
)
我想弹出所有屏幕直到第一个屏幕并按下ResultScreen
. 我想使用原来的底部导航,ResultScreen
但我无法访问,因为祖先没有那个导航。
我该如何解决这个问题?
解决方案
推荐阅读
- ubuntu - 我的 dotnet 中没有模板
- angular - 单击后更改图标的颜色
- python - Python 响应对象返回意外的 utf 代码点
- c# - 使用 Selenium 找不到元素
- python - 使用 requests.get() 时出现 URL 错误超过最大重试次数
- vue.js - 以编程方式使用 vue-router
- javascript - 如何正确地将 php Json 编码对象提供给 javascript 方法。
- tensorflow - TypeError:'Conv3DBackpropInputV2' Op 的输入'input_sizes' 的 int64 类型与预期的 int32 类型不匹配
- javascript - 使用数据表增强现有 Web 项目
- javascript - 使用 AJAX 获取 SQL WHERE 查询到 javascript