// components/Home.vue
async getMenuList() {
try {
const { menuList, actionList } = await this.$api.getPermissionList();
this.userMenu = menuList;
this.$store.commit("saveUserMenu", menuList);
this.$store.commit("saveUserAction", actionList);
} catch (error) {
console.error(error);
}
}
// main.js
// 按钮权限
app.directive('has', {
beforeMount: (el, binding) => {
// 获取按钮权限
let actionList = storage.getItem('actionList')
let value = binding.value
// 判断列表中是否有对应按钮权限标识
let hasPermission = actionList.includes(value)
if (!hasPermission) {
el.style = 'display:none;'
// 添加一个宏任务
setTimeout(() => {
el.parentNode.removeChild(el)
}, 0);
}
}
})
// views/User.vue
<el-button
@click="handleEdit(scope.row)"
size="mini"
v-has:add="'user-delete'"
>编辑</el-button>
<el-button
type="danger"
size="mini"
@click="handleDel(scope.row)"
v-has:add="'user-delete'"
>删除</el-button>
版权声明:本文为qq_40881695原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。