有没有一种方法可以让 Exhibitionbottomsheet 仅在用户位于指定选项卡上时可见,而对于其他选项卡则不可见。
代码-
Tabs(refresh: () => setState(() {})),
value == 0 ? Center(child: AboutPage()) : Container(),
value == 1 ? Center(child: Sliding()) : Container(),
value == 2 ? Center(child: CoveragePage()) : Container(),
],
),
),
ExhibitionBottomSheet()
在上面的代码中,ExhibitionBottomSheet()对所有的tabs都是可见的,但是如果只对Sliding()可见就更好了。那么有什么办法可以做到吗?
我尝试在 Sliding() 卡本身中调用 ExhibitionBottomSheet() 而不是为所有选项卡调用,但由于所有三个选项卡都是 sizedBox,它显示定位错误但在选项卡下方调用它时工作正常,如您所见. ExhibitionBottomSheet() 是一个可扩展的底部小部件。
最佳答案
最快的方法是仅在选择了正确的选项卡时才呈现它,如下所示:
Column(
children: <Widget>[
Tabs(/* as before */),
if(value == 1)
...[ExhibitionBottomSheet()]
],
),
只有当第二个选项卡处于事件状态时,才会显示底部工作表。
关于flutter - 仅某些选项卡的底页可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57282798/