所以我创建了一个大约有 4 个页面的应用程序,然后是一个 webview,所以每当用户从 webview 注销时,我都会推送启动屏幕。 我希望我的应用程序转到第一页。我试过:
Navigator.of(context).pushNamed('/welcomeScreen');
Navigator.popUntil(context,ModalRoute.withName('/welcomeScreen'));
但运气不好。我认为这可能是因为 webview。 这是我的路线。
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()
};
最佳答案
此函数将设置页面根页面,因此它应该适用于注销情况。
Navigator.pushAndRemoveUnitl
我猜你在找什么。
void makeRoutePage({BuildContext context, Widget pageRef}) {
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => pageRef),
(Route<dynamic> route) => false);
}
使用方法:
makeRoutePage(context: context, pageRef: YourFirstPage());
关于dart - 如何在 flutter 应用程序中返回到应用程序的第一页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54926013/