一尘不染

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

flutter

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

注意:我已经尝试了pushReplacementNamed,但是不起作用。


阅读 457

收藏
2020-08-13

共1个答案

一尘不染

我想到了。这是Navigator.pushAndRemoveUntil功能。我必须将PaymentSuccessful小部件作为传递newRoute,将"/Home"路线作为谓词传递

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