在flutter 路由跳转中,我们想要回到特定的一个页面
比如:从 A -> B-> C ->D,我们向从 D页面 pop至 B 页面。我们能够运用 popUtil
办法回到 B 页面。
Navigator.popUnitil(context, ModalRoute.withName('/B'))
或许运用
Navigator.popUntil(ctx.context, (route){
if (route.settings.name == "/B"){
return true;
}else {
return false;
}
});
但是 运转结果是 : 黑屏。
我们对 route.setting
进行打印后,发现 route.setting == null
只要最后 一个A
页面的route.setting
有值,其name == '/'
。
所以,我们在跳转至B页面的时分,需要给B页面的routeSetting进行赋值,
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>BPage(),
settings: RouteSettings(name: '/B'),
));
这样就能够回到B页面了