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'), ],
NavigationObserver输出
flutter: Tab route re-visited: BRoute flutter: Previous route: ARoute flutter: Tab route re-visited: CRoute flutter: Previous route: BRoute
内容的提问来源于stack exchange,提问作者thoughtassault
相关产品推荐
相关产品推荐

