注册

Flutter popUntil 黑屏

在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页面了


作者:Bel李玉
链接:https://juejin.cn/post/7051160759992057869
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 个评论

要回复文章请先登录注册