J'ai donc créé une application qui a environ 4 pages, puis une vue Web, donc chaque fois que l'utilisateur se déconnecte de la vue Web, je pousse l'écran de démarrage. Je veux que mon application accède à la première page que j'ai essayée
final routes = { '/login': (BuildContext context) => new LoginScreen(), '/home': (BuildContext context) => new HomeScreen(), '/welcomeScreen':(BuildContext context) => new WelcomeScreen(), '/email': (BuildContext context) => new EmailScreen(), '/webview': (BuildContext context) => new WebviewScreen() };
mais pas de chance. Je pense que c'est peut-être à cause du webview. ce sont mes itinéraires.
Navigator.of(context).pushNamed('/welcomeScreen'); Navigator.popUntil(context,ModalRoute.withName('/welcomeScreen'));
»
3 Réponses :
Cette fonction définira la page racine de la page afin qu'elle fonctionne pour le cas de déconnexion.
Navigator.pushAndRemoveUnitl
est ce que vous cherchez, je suppose.
makeRoutePage(context: context, pageRef: YourFirstPage());
comment l'utiliser :
void makeRoutePage({BuildContext context, Widget pageRef}) { Navigator.pushAndRemoveUntil( context, MaterialPageRoute(builder: (context) => pageRef), (Route<dynamic> route) => false); }
Une solution alternative peut être Navigator.popUntil(context, ModalRoute.withName('/'));
qui fera apparaître tous les écrans de la pile à l'exception de l'écran initial.
Utilisez simplement ce code dans n'importe quelle action de bouton, il redirigera U vers MainScreen / Homepage à partir de n'importe quelle autre page
Navigator.of(context).pushNamedAndRemoveUntil('/', (Route<dynamic> route) => false);
La réponse suivante a-t-elle fonctionné pour vous? si c'est pouvez-vous accepter la réponse s'il vous plaît!