0

我是 Flutter 的新手。我想问是否有正确的方法通过抽屉在屏幕之间导航?因为导航栈有问题。

|:-------:|
|-------|
|-------|
|-------|
|屏幕1|

例如,如果屏幕 1 有一个导航按钮,它导航到 screen1,它会是这样的

|-------|
|-------|
|屏幕1|
|屏幕1|
|屏幕1|

我需要类似替换的东西,让我的导航堆栈像第一张桌子一样

所以,我尝试了 pushName 和这种方式https://medium.com/flutter-community/flutter-vi-navigation-drawer-flutter-1-0-3a05e09b0db9但这给了我另一个问题“找不到路由的生成器路线设置”

4

2 回答 2

0

尝试仅使用Navigator.of(context).pushReplacement(context, MaterialPageRoute(builder:(BuildContext context) => YourScreen()));. 它应该可以工作并替换当前屏幕。

于 2021-06-23T06:55:49.473 回答
0

有关导航的详细信息,请阅读文章

https://medium.com/flutter-community/flutter-push-pop-push-1bb718b13c31

使用 pushReplacementNamed 而不是 pushNamed

drawerButton(
              labelText: "Новости",
              onTap: () => Navigator. pushNamed(context, Routes.newsPage),             
            ),

变成

drawerButton(
              labelText: "Новости",
              onTap: () => Navigator. pushReplacementNamed(context, Routes.newsPage),
            ),
于 2021-06-23T07:00:27.370 回答