You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter使用auto_route时,如何条件显示AutoTabsRouter.tabBar标签并解决点击失效?

基于条件控制AutoRoute TabBar标签的问题

我想基于条件选择TabBar的标签,按以下方式实现后遇到了这些问题:

  • 路由无法跳转到其他标签,但控制台能正常收到NavigationObserver的消息
  • 使用Visibility组件包裹标签时,TabBar会出现空白区域
  • 滑动可以切换标签,但点击TabBar项没有响应

路由代码

return AutoTabsRouter.tabBar(
  routes: [
    ARoute(),
    if (conditionB)
      BRoute(),
    if (conditionC)
      CRoute(),
    DRoute(),
  ],
  builder: (context, child, controller) {

标签代码

return TabBar(
  controller: controller,
  isScrollable: true,
  tabs: <Widget>[
    const Tab(text: 'A'),
    if (conditionB)
      const Tab(text: 'B'),
    if (conditionC)
      const Tab(text: 'C'),
    const Tab(text: 'D'),
  ],
flutter: Tab route re-visited: BRoute
flutter: Previous route: ARoute
flutter: Tab route re-visited: CRoute
flutter: Previous route: BRoute

内容的提问来源于stack exchange,提问作者thoughtassault

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:32:31