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

如何通过GetX正确实现从E经B回退到A的页面导航?

解决方法

你用的Get.offNamedUntil('B', (route) => false)存在逻辑问题:这个写法会把除了目标路由B之外的所有路由都移除,导致导航栈只剩B,自然没法回退到A。

要实现从E先到B,且保留A→B的栈结构(这样从B就能正常回退到A),需要修改predicate参数,让它识别到A路由时停止移除:

Get.offNamedUntil('B', (route) => route.name == 'A');

这段代码的作用是:导航到B页面,同时移除B之后的所有路由(C、D、E),但保留A和B的栈关系。此时导航栈回到A→B,你在B页面按返回键就能正常回到A。

如果想直接从E完成“到B再到A”的自动跳转,不用手动按返回,可以分两步执行:

// 第一步:跳转到B,保留A→B的栈
Get.offNamedUntil('B', (route) => route.name == 'A');
// 第二步:自动回退到A
Get.back();

另外,如果你的需求本质是直接从E回到A,跳过B的显示,可以直接用popUntil一步到位:

Get.popUntil((route) => route.name == 'A');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 21:10:20