Flutter 颤振-如何在不使用命名路由的情况下弹出两个屏幕?
例如,我当前的路由如下所示: 登录->屏幕1->屏幕2->屏幕3->屏幕4 我想从屏幕4回到屏幕2。 我不能使用命名路由,因为我必须向Screen2传递一个参数。 在Screen4中推送Screen2不是一个好的解决方案。 请帮助,谢谢。使用Navigator类的方法 e、 gFlutter 颤振-如何在不使用命名路由的情况下弹出两个屏幕?,flutter,mobile-application,Flutter,Mobile Application,例如,我当前的路由如下所示: 登录->屏幕1->屏幕2->屏幕3->屏幕4 我想从屏幕4回到屏幕2。 我不能使用命名路由,因为我必须向Screen2传递一个参数。 在Screen4中推送Screen2不是一个好的解决方案。 请帮助,谢谢。使用Navigator类的方法 e、 g int count=0; Navigator.of(context.popintil)((u)=>count++>=2); 但是,我建议您为路线定义名称,并使用popintil,因为它是根据文档设计的 如果有帮助,请告
int count=0;
Navigator.of(context.popintil)((u)=>count++>=2);
但是,我建议您为路线定义名称,并使用popintil
,因为它是根据文档设计的
如果有帮助,请告诉我。您只需弹出两次
nav = Navigator.of(context);
nav.pop();
nav.pop();
如果您想弹出三次,可以使用下面的代码
int count = 3;
Navigator.of(context).popUntil((_) => count-- <= 0);
int计数=3;
Navigator.of(context).popIntil((\u)=>count--将从中作为StatefulWidget进行转换的类。要按操作,请使用添加pushNamed
导航器,然后添加,返回此屏幕后将触发该导航器。传递setState
以更新小部件:
onTap: () {
Navigator.pushNamed(
context,
RouteNames.viewExercises,
).then((value) {
setState(() {});
});
},
返回要使用的屏幕:
Navigator.of(context)
..pop()
..pop()
..pop();
其中,.pop()
根据需要多次用于备份。的可能重复项