Flutter:将导航功能与没有命名路线的MaterialPageRoute一起用于命名路线

时间:2020-06-05 06:16:44

标签: flutter dart

因此,我已经看到许多使用命名路线的导航功能,例如popAndPushNamed,popUntil,pushNamedAndRemoveUntil,pushReplacementNamed。我想知道如何在MaterialPageRoute中使用这些功能,而我没有命名路由。 例如: 我有一个页面 屏幕1 屏幕2 屏幕3 屏幕4 所以我想从屏幕4弹出直到屏幕2不使用名称。 我读了一些帖子,在其中我可以在推送时命名这些路由,但是我有问题,因为我必须传递参数,因此我只想使用不命名路由的功能。我是一个学习者,所以请放轻松。

Navigator.of(context).popUntil(ModalRoute.withName("/Page1"));

基本上,我想在不使用命名路由的情况下对命名路由执行上述功能和其他功能。谢谢。

1 个答案:

答案 0 :(得分:1)

在您的情况下,您需要从屏幕4->转到屏幕3->并停留在屏幕2。因此,这意味着您需要2次弹出,因此请执行以下操作:

count = 0;
Navigator.popUntil(context, (route) {
return count++ == 2;
});