颤振:如何重新创建选项卡栏



我有一个应用程序,根据用户角色有不同的布局,用户可以从设置中切换角色。应用程序的基本布局有一个标签栏,标签视图的内容根据选择的标签而变化。当改变用户角色,我想去一个新的布局与一个新的标签栏有自己的标签项。问题是,当我从UserRole1布局中推送一个新页面时,如下所示:

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

UserRole1布局的标签栏仍然存在,并且带有新标签栏的新布局位于其上方。

如何替换当前的选项卡栏或使用新的选项卡栏进入新的布局?

我找到了一个解决方法,基本上我保留了一个全局变量来检查用户选择的帐户类型。根据选择的类型,应用程序在初始加载应用程序时加载选项卡栏。当用户更改角色时,我更改该变量并重新启动应用程序,以便应用程序以新的标签栏重新开始。

最新更新