uniapp遮罩层遮住tabbar上
时间: 2023-08-04 13:05:57 浏览: 84
uniapp 微信小程序tabbar凸起的显示
您好,针对您的问题,您可以使用uni-app官方提供的全局mixin功能,在App.vue中添加以下代码:
```javascript
export default {
globalData: {
// 是否显示遮罩层
isShowMask: false
},
onLaunch() {
// 监听全局变量isShowMask的变化
uni.$watch('globalData.isShowMask', (newVal) => {
// 获取当前页面实例
let pages = getCurrentPages();
let currentPages = pages[pages.length - 1];
// 判断是否存在tabBar组件,存在则调整遮罩层的z-index
if (currentPages.$mp && currentPages.$mp.page && currentPages.$mp.page.getTabBar) {
let tabBar = currentPages.$mp.page.getTabBar();
if (tabBar) {
if (newVal) {
tabBar.setData({
zIndex: 99
});
} else {
tabBar.setData({
zIndex: 1000
});
}
}
}
});
}
};
```
然后在需要显示遮罩层的页面中,通过以下代码控制遮罩层的显示与隐藏:
```javascript
// 显示遮罩层
uni.$set(uni.$root, 'globalData.isShowMask', true);
// 隐藏遮罩层
uni.$set(uni.$root, 'globalData.isShowMask', false);
```
注意:此方法需要在tabBar的页面中使用,如果在非tabBar的页面中使用可能会存在问题。
阅读全文