需求:页面跳转APage -> BPage -> CPage -> DPage,需要从DPage返回到BPage
原生写法:
Navigator.popUntil(context,
(route) => route.settings.name == '/BPage'
);
使用GetX更简单(不需要context):
Get.until((route) => route.settings.name == '/BPage');
如果使用了路由,则只需要把
'/BPage'
改成路由地址即可。
注意:
网上很多帖子使用的是Get.offUntil
,其实是不太准确的。
Get.until
和(Get.offUntil
、Get.offNamedUntil
)的区别:
-
Get.until
是从当前页面一层一层地返回,当到达BPage时停止。 -
Get.offUntil
是销毁页面并进入新的页面,与原生方法Navigation.pushAndRemoveUntil
的用法相同,这里的BPage和之前的BPage已经不是同一个了。
网友评论