web-dev-qa-db-fra.com

Flutter - Accédez à un nouvel écran et effacez tous les écrans précédents

J'ai utilisé Navigator.Push jusqu'à 6 écrans pour accéder à la page de paiement. Après le paiement, je souhaite accéder à la page "Paiement réussi", puis supprimer tous les écrans précédents, c'est-à-dire qu'en utilisant le bouton de retour, vous reviendrez au tout premier écran.

REMARQUE: j'ai essayé pushReplacementNamed et cela ne fonctionne pas.

12

Je l'ai compris. C'était le Navigator.pushAndRemoveUntil une fonction. Où je devais passer le widget PaymentSuccessful comme newRoute, et le "/Home" route comme prédicat

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