You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中使用GetX实现pushAndRemoveUntil导航?

使用GetX实现pushAndRemoveUntil导航

直接跳转页面实例的写法

对应你提供的原生代码,GetX的等价实现如下:

Get.pushAndRemoveUntil(
  () => SignInScreen(),
  (route) => route.settings.name == GetRoutes.home,
);

使用命名路由的写法(推荐,符合GetX路由管理习惯)

如果你的SignInScreen已经在GetX路由表中配置了对应命名路由(比如GetRoutes.signIn),可以用更简洁的命名路由方式:

Get.pushNamedAndRemoveUntil(
  GetRoutes.signIn,
  (route) => route.settings.name == GetRoutes.home,
);

关键说明

  • GetX的pushAndRemoveUntil/pushNamedAndRemoveUntil方法完全对应原生Navigator.pushAndRemoveUntil的功能,无需传入context,直接调用即可。
  • 第二个参数的路由判断逻辑和原生一致:保留路由栈中名称为GetRoutes.home的路由,移除它之上的所有旧路由(新跳转的SignInScreen会留在栈顶)。
  • 不需要手动创建MaterialPageRoute,GetX会自动处理页面路由的包装逻辑。

内容的提问来源于stack exchange,提问作者DroidBee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:42:42