android - Flutter - 导航到新屏幕,并清除所有以前的屏幕

我使用 Navigator.push 最多 6 个屏幕来访问付款页面。付款后,我想推到“付款成功”页面,然后删除所有以前的屏幕,即使用后退按钮将返回到第一个屏幕。

注意:我已尝试 pushReplacementNamed,但它不起作用。

最佳答案

我想通了。它是 Navigator.pushAndRemoveUntil 函数。我必须将 PaymentSuccessful 小部件作为 newRoute 传递,并将 "/Home" 路由作为谓词传递

  _navPaymentSuccessful(){
    Navigator.pushAndRemoveUntil(
      context, 
      MaterialPageRoute(
        builder: (context) => PaymentSuccessful()
      ), 
     ModalRoute.withName("/Home")
    );
  }

https://stackoverflow.com/questions/52689049/

相关文章:

dart - 为桌面构建 Flutter 应用程序

android - 如何在 Flutter 中获取 AppBar 高度

flutter - 在 Flutter 本地干净地覆盖部分主题

android - 如何使用 Flutter 构建增强现实应用程序?

dart - 使用 Flutter/dart 的 NTLM 身份验证

error-handling - 如何在 flutter 中使用 bloc 模式进行错误处理?

android - 是否可以在 flutter 中构建 android 小部件?

ios - 在 Flutter 中打开原生 UIViewController

android - 从原生 Android 主屏幕小部件调用 Flutter (Dart) 代码

gridview - Flutter GridView 页脚(用于指示无限滚动的负载)