相关疑难解决方法(0)

如何在同一层次结构路由中将 Shell Route 与 GoRoute 一起使用

\n

如何在同一层次结构路由中将 Shell Route 与 GoRoute 一起使用

\n\n

如何使用导航栏按钮之一从 ShellRoute 推送到与 ShellRoute 同一层次结构中的 GoRoute?

\n

目前GoRouter的路由有两个值:ShellRoute和GoRoute。ShellRoute 中的 Child 代表 Home、Discover 和 Shop Widget。然而,除了上面提到的 Widget 的三个按钮之外,NavBar 还多了一个第四个按钮。这个按钮(MY)用于转到前面提到的 GoRoute。

\n

正如您从下面附加的代码中看到的,我希望在 ShellRoute 上按下第四个按钮时显示登录小部件,因为 GoRoute 堆叠在 ShellRoute 上。但实际上,随着 ShellRoute 被删除,GoRoute 成为顶部堆栈,iOS 没有后退按钮,Android 在 BackPress 时关闭应用程序。

\n

官方文档examples中没有这方面的例子,所以我迷失了很多。\n我发现了类似的例子一万个\n https://github.com/flutter/packages/blob/main/packages/go_router/示例/lib/shell_route.dart \n在上面的示例中,GoRoute 依赖于 ShellRoute。\n我不想要这个。我想让登录路线可以从任何地方访问。

\n

我将在下面附上我的代码和操作屏幕。\n我需要你的帮助。

\n

预期成绩: \n当按下第四个按钮时,GoRoute 堆叠在 ShellRoute 上,按下背面时 ShellRoute 重新出现

\n

实际结果: \n当按下第四个按钮时,ShellRoute 被移除,创建一个 GoRoute 并将其堆叠在顶部,当您按 Back 时应用程序结束。

\n

\xe1\x84\x92\xe1\x85\xaa\xe1\x84\x86\xe1\x85\xa7\xe1\x86\xab \xe1\x84\x80\xe1\x85\xb5\xe1\x84\x85\xe1 \x85\xa9\xe1\x86\xa8 2022-11-30 \xe1\x84\x8b\xe1\x85\xa9\xe1\x84\x92\xe1\x85\xae 4 21 12 mov

\n
Performing hot restart...\nSyncing files to device iPhone 12...\nRestarted application in 368ms.\nflutter: MyTest …
Run Code Online (Sandbox Code Playgroud)

android routes ios dart flutter

23
推荐指数
1
解决办法
2万
查看次数

颤振:使用导航器推送到新屏幕时保持BottomNavigationBar

在iOS中,当我们推送到新的ViewController时,我们有一个UITabBarController永久保留在屏幕的底部.

在Flutter中,我们有一个底部导航栏的脚手架.但是,与iOS不同的是,当我们Navigator.push进入新的屏幕时,这个bottomNavigationBar消失了.

在我的应用程序,我想满足这一要求:主屏幕上有一个bottomNavigationBar与2项(&b)提示画面&.默认情况下,屏幕上一个显示.在屏幕A内,有一个按钮.点击该按钮, Navigator.push筛选Ç.现在在屏幕C中,我们仍然可以看到bottomNavigationBar.轻按项目b,我去筛选.现在,在屏幕,龙头项目bottomNavigationBar,我回去屏幕Ç(不是一个,一个是目前低于Ç在导航层次).

我怎样才能做到这一点?多谢你们.

编辑:我包括一些图片用于演示:

屏幕A 屏幕A.

点击转到C按钮,按到屏幕C 屏幕C

点击底部导航栏内的右侧项目,转到屏幕B 屏幕B.

navigator flutter bottomnavigationview

8
推荐指数
4
解决办法
1万
查看次数

标签 统计

flutter ×2

android ×1

bottomnavigationview ×1

dart ×1

ios ×1

navigator ×1

routes ×1