赞
踩
"tabBar": {
"color": "#999999",
"selectedColor": "#579aff",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/assistant_police/index/index",
"iconPath": "static/image/assistant_police-icon/tab-bottom/icon-home.png",
"selectedIconPath": "static/image/assistant_police-icon/tab-bottom/icon-home-select.png",
"text": "1"
},{//...别的tabbar页面}]
uni.setStorageSync("userType", 1);
(我这里userType = 1为权限1 ,userType = 2为权限2)
//修改动态tabbar
reviseTabbarByUserType: function() {
let userType = uni.getStorageSync('userType') ? uni.getStorageSync('userType') : 1;
//权限1
if(userType == 1){
uni.setTabBarItem({
index: 4,
visible: false,
})
uni.setTabBarItem({
index: 5,
visible: false,
})
uni.setTabBarItem({
index: 6,
visible: false,
})
uni.setTabBarItem({
index: 7,
visible: false,
})
uni.setTabBarItem({
index: 8,
visible: false,
})
}else{
uni.setTabBarItem({
index: 0,
visible: false,
})
uni.setTabBarItem({
index: 1,
visible: false,
})
uni.setTabBarItem({
index: 2,
visible: false,
})
uni.setTabBarItem({
index: 3,
visible: false,
})
}
}
(建议在onShow方法中调用)
我其实还在app.vue中的onShow方法也调用了
tips:
产生的问题: 当登录后跳转到首页没有tabbar,这可能是tabbar未渲染的原因;
解决办法1: 登录页面登录成功后跳转首页时传递一个参数,首页判断如果成立,刷新一下(我这里设置的是type=1);
首页代码:
onLoad(options) {
if(options.type == 1){
location.href();
}
},
解决办法2:
在跳转页面时,可以直接把刷新写入success方法中
跳转页面代码:
uni.switchTab({
url: '/pages/assistant_police/index/index',
success() {
location.reload();
},
})
这样就做到了不同权限展示不同rabbar的需求啦~
欢迎交流!
本文为原创,转载请注明出处!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。