flutter - 从 CupertinoTabScaffold 导航出来

标签 flutter dart flutter-cupertino cupertinotabbar

我有一个带有 LoginScreen 的应用程序,在成功登录后会转到 HomeScreen。我使用下面的代码替换小部件并启动新的导航堆栈:

Navigator.pushReplacement(
    context,
    CupertinoPageRoute(
      builder: (context) => HomeScreen(),
    ),
  );

HomeScreen 是一个带有 2 个 CupertinoTabViewsCupertinoTabScaffold

第二个 CupertinoTabView 包含一个带有注销按钮的小部件。

成功注销后,我想删除 HomeWidget,然后转到 LoginScreen。

使用

Navigator.pushReplacement(
    context,
    CupertinoPageRoute(
      builder: (context) => LoginScreen(),
    ),
  );

在第二个 CupertinoTabView 内的 Widget 中仅重置其导航,并且 LoginScreen 出现在第二个 CupertinoTabView 内。

我想要的是一些代码来删除我的 HomeScreen 并使用 LoginScreen 启动一个新的导航堆栈。

最佳答案

从 FlutterGallery 官方源码中找到解决方案。这将导航到根目录。

https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/cupertino/cupertino_navigation_demo.dart#L122

Navigator.of(context, rootNavigator: true).pop();

关于flutter - 从 CupertinoTabScaffold 导航出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57074706/

相关文章:

flutter - 如何在 Flutter 中创建同时具有 kg 和 lbs 选项的 Cupertino picker

flutter - 为什么 Future 会阻塞用户界面,但网络请求不会乱动

dart - flutter 错误 :The argument type 'Future<Image>' can't be assigned to the parameter type 'Widget'

Flutter:获取 css:在图像应用背景的一种效果之后

date - 在 Dart 中,您如何格式化一个月中的某一天以表示 “11th” 、 “21st” 或 “23rd” ?

android - 我想在切换屏幕时保持秒表屏幕运行

dart - 如何在Flutter中解码JWT?

dom - 如何在 Dart 中判断 DOM 何时准备就绪?

android-studio - 如何安全地更改 Flutter Android Studio 项目中的 "lib"目录名称?

flutter - 如何在 Flutter 中设置 CupertinoButton 的宽度?