dart - 如何在 flutter 应用程序中返回到应用程序的第一页?

标签 dart flutter

所以我创建了一个大约有 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/

相关文章:

flutter - 在 iPhone 模拟器上测试 flutter 网站,但作为网站而不是应用程序

flutter - http请求不断失败

flutter - 如何将列表的元素转换为单个数字

flutter - 如何捕获 GoogleSignInsignInSilently 中的错误?

animation - Matrix4Tween 无法正常工作?

android - 如何从 firebase 下载 pdf 并从我的应用程序目录访问它?

flutter - 想要在没有按钮的情况下共享 pref 工作

dart - 如何在 Flutter 运行时更改应用程序主题?

flutter - 容器不会 flutter 地到达屏幕底部吗?

flutter - 如何修复类型字符串不是下面 flutter 代码中类型小部件的子类型