dart - 如何在颤振应用程序中返回应用程序的第一页?
问题描述
所以我创建了一个应用程序,它有 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());
推荐阅读
- javascript - 如何调用名称在运行时形成的js文件的getter,即用字符串调用js文件的getter
- python - Flask 应用程序仅显示 1 张图像,不显示其他图像
- phpstorm - PhpStorm 和 BEM
- google-translate - Google Crendentials 为 NULL,我无法设置环境变量
- angular - 如何使用 ngFor trackBy 但通知组件输入更改?
- javascript - Jest 测试失败,出现 Unexpected token,expected ";"
- html - 在 HTML 表格单元格中多行显示文本
- java - 将 Java 中的 try catch 重写为 Kotlin
- java - Tomcat上部署应用的Spring框架中使用AspectJ的Load-time weaving的理解
- python - 无法找到元素硒 Python