首页 > 解决方案 > 仅某些选项卡的底页可见性

问题描述

有没有一种方法可以让 Exhibitionbottomsheet 仅在用户位于指定选项卡上而不是其他选项卡时可见。

编码-

Tabs(refresh: () => setState(() {})),
                value == 0 ? Center(child: AboutPage()) : Container(),
                value == 1 ? Center(child: Sliding()) : Container(),
                value == 2 ? Center(child: CoveragePage()) : Container(),
              ],
            ),
          ),
          ExhibitionBottomSheet()

在上面的代码中,ExhibitionBottomSheet() 对所有选项卡都是可见的,但如果它只能对 Sliding() 可见,那就更好了。那么有什么办法可以做到这一点吗?

我尝试在 Sliding() 卡本身中调用 ExhibitionBottomSheet(),而不是针对所有选项卡,但由于所有三个选项卡都是 sizeBox 的,因此它显示定位错误,但在选项卡下方调用它时工作正常,正如大家所见。ExhibitionBottomSheet() 是一个可展开的底部小部件。

标签: flutterdartposition

解决方案


最快的方法是仅在选择正确的选项卡时才呈现它,如下所示:

Column(
  children: <Widget>[
    Tabs(/* as before */),
    if(value == 1)
      ...[ExhibitionBottomSheet()]
  ],
),

仅当第二个选项卡处于活动状态时,才会显示底部工作表。


推荐阅读