环境
- HbuilderX 4.24
- vue3+ts
- 运行在内置浏览器
问题点
在App.vue中的onShow生命周期中使用官方API
uni.hideTabBar()
无法隐藏底部tabbar
网上经典CSDN抄袭文章全是说在App.vue中进行隐藏(不管vue2还是vue3) 😅😅😅
可能的原因
tabbar实际上也属于加载在page页面的内容,属于page自己的部分,可能app.vue中使用
uni.hideTabBar()
本身就无法全局隐藏作用到每一个page的uni-tabbar
PS:可能是版本原因没测过vue2的(如果vue2可以实现那就是API问题)
解决办法
之前说实际上就是要隐藏page中的
uni-tabbar
但是官方的这个uni.hideTabBar()
功能不应该无效,可能只是作用点的问题,尝试使用在page本身的加载生命周期中(比如onMounted
)进行调用来实现隐藏,可以隐藏底部的uni-tabbar
结论
使用了之前的vue2项目测试了下,在app.vue的哪一个生命周期中都无法使用
uni.hideTabBar()
来全局隐藏所有的page下面的uni-tabbar
,并没有作用到这个标签上,不知道网上的是怎么测出来的,并且网上有些说可行的也出现了其他的问题,比如会闪一下,或者第一次加载无法隐藏等奇奇怪怪的问题,保险起见,还是建议在page的加载中使用uni.hideTabBar()
来隐藏
或者直接全局样式中对
.uni-tabbar-bottom
这个class选择器display:none