Flutter 如何禁用CupertinobView中的特定选项卡,以便能够单击?

Flutter 如何禁用CupertinobView中的特定选项卡,以便能够单击?,flutter,dart,flutter-cupertino,Flutter,Dart,Flutter Cupertino,我希望当用户未登录时,选项卡将被禁用,但“Mon Compte”和“Annonces”选项卡将被激活。 有没有办法关闭CupertinobView中的特定选项卡?因此,除非用户登录,否则无法单击它?或者如果用户未连接,我如何更改索引欢迎任何帮助,谢谢 class BottomMenu extends StatefulWidget { @override State<StatefulWidget> createState() { return _BottomMenuSt

我希望当用户未登录时,选项卡将被禁用,但“Mon Compte”和“Annonces”选项卡将被激活。 有没有办法关闭CupertinobView中的特定选项卡?因此,除非用户登录,否则无法单击它?或者如果用户未连接,我如何更改索引欢迎任何帮助,谢谢

class BottomMenu extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _BottomMenuState();
  }
}

class _BottomMenuState extends State<BottomMenu> {
   static int currentTab = 3; // to keep track of active tab index


 @override
  Widget build(BuildContext context) {


    SystemChrome.setSystemUIOverlayStyle(
      SystemUiOverlayStyle(
        statusBarColor: Colors.transparent,
        statusBarBrightness: Brightness.light,
        systemNavigationBarColor: Colors.transparent,
        systemNavigationBarIconBrightness: Brightness.light,
      ),
    );

    return CupertinoTabScaffold(
      tabBar: CupertinoTabBar(
        currentIndex:  currentTab ,
        activeColor: Theme.of(context).primaryColor,
        backgroundColor: Theme.of(context).backgroundColor,
        inactiveColor: Theme.of(context).disabledColor,
        items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(Icons.search),
            title: Text(
                "Matching"
            ),
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.dashboard),
            title:
            Text(
                "Annonces"
            ),
          ),
          BottomNavigationBarItem(
            icon: Icon(MenuIcon.favorite__1_),
            title:
            Text("Favoris"),
          ),
          BottomNavigationBarItem(
            icon: Icon(MenuIcon.user__1_),
            title: Text(
                "Mon Compte"
            ),
          ),
        ],
      ),
      tabBuilder: (context, index) {
        switch (index) {

          case 0:
            return CupertinoTabView(builder: (context) {


                return CupertinoPageScaffold(
                  child: Matching(),
                );

            }

            );
          case 1:
            return CupertinoTabView(builder: (context) {

              return CupertinoPageScaffold(
                child: Offers(),
              );
            });
          case 2:
            return CupertinoTabView(builder: (context) {

              return CupertinoPageScaffold(
                child: Favorites(),
              );
            });
          default: return CupertinoTabView(

              builder: (context) {

            return CupertinoPageScaffold(
              child: Login(),
            );
          });
        }
      },
    );

  }
}
类底部菜单扩展StatefulWidget{
@凌驾
状态createState(){
返回_BottomMenuState();
}
}
类底部自定义扩展状态{
static int currentTab=3;//跟踪活动选项卡索引
@凌驾
小部件构建(构建上下文){
SystemChrome.SetSystemTimeOverlayStyle(
系统样式(
statusBarColor:Colors.transparent,
状态:亮度。亮度,
systemNavigationBarColor:Colors.transparent,
systemNavigationBarIconBrightness:Brightness.light,
),
);
回程杯(
tabBar:CupertinoTabBar(
currentIndex:currentTab,
activeColor:Theme.of(context.primaryColor),
背景色:主题。背景色,
inactiveColor:Theme.of(context).disabledColor,
项目:常数[
底部导航气压计(
图标:图标(Icons.search),
标题:正文(
“匹配”
),
),
底部导航气压计(
图标:图标(图标.仪表板),
标题:
正文(
“Annonces”
),
),
底部导航气压计(
图标:图标(MenuIcon.favorite\uuuuu1),
标题:
文本(“Favoris”),
),
底部导航气压计(
图标:图标(菜单图标用户1),
标题:正文(
“Mon Compte”
),
),
],
),
tabBuilder:(上下文,索引){
开关(索引){
案例0:
返回CupertinoTabView(生成器:(上下文){
返回式CupertinoPageScaffold(
子项:匹配(),
);
}
);
案例1:
返回CupertinoTabView(生成器:(上下文){
返回式CupertinoPageScaffold(
child:Offers(),
);
});
案例2:
返回CupertinoTabView(生成器:(上下文){
返回式CupertinoPageScaffold(
子项:收藏夹(),
);
});
默认值:返回CupertinoTabView(
生成器:(上下文){
返回式CupertinoPageScaffold(
子:登录(),
);
});
}
},
);
}
}