android - Flutter - 导航到新屏幕,并清除所有以前的屏幕
问题描述
我使用Navigator.push
了多达 6 个屏幕才能进入付款页面。付款后,我想推到“付款成功”页面,然后删除所有以前的屏幕,即使用后退按钮将返回到第一个屏幕。
注意:我已经尝试过pushReplacementNamed
,但它不起作用。
解决方案
我想到了。这就是Navigator.pushAndRemoveUntil
功能。我必须将PaymentSuccessful
小部件作为newRoute
,并将"/Home"
路由作为谓词传递的地方
_navPaymentSuccessful(){
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(
builder: (context) => PaymentSuccessful()
),
ModalRoute.withName("/Home")
);
}
推荐阅读
- node.js - 如何通过承诺链传递请求对象
- r - R 4.0.0“配置:错误:zlib 库和头文件是必需的”
- prolog - 如何通过读取 eps 文件扩展 prolog 驱动程序并确定列数和行数
- r - 删除重复的行(通过几列)并重新计算 R 中的计数和频率值
- python - python keras - 预测时间序列,基于相似序列的历史样本很少
- javascript - 使用带有 Promise.all() 的配置对象
- android - 其他类中的Android Dagger 2 Activity上下文
- hl7-fhir - 在单个资源中插入多个观察值 - FHIR
- python - 如何使用 pyqt5 在一个主文件中连接 3 个不同的程序?
- python - 为什么 keras 层中的 L2 归一化会扩大暗淡?