nodePlatform-eggjs
nodePlatform-eggjs copied to clipboard
如果把权限指令放到table的插槽中,即使没有权限,按钮也不会隐藏
在directive/permission/button.js中修改如下:
export default {
install(Vue, options) {
Vue.directive("roleBtn", {
componentUpdated: function (el, binding) {
let btnId = binding.value
let userInfo = JSON.parse(localStorage.getItem("info"))
if ((btnId && userInfo.permissionButton.indexOf(btnId) !== -1) || userInfo.role === "超级管理员") {
return false
} else {
el.parentNode.removeChild(el)
}
},
//新增
inserted: function (el, binding) {
let btnId = binding.value
let userInfo = JSON.parse(localStorage.getItem("info"))
if ((btnId && userInfo.permissionButton.indexOf(btnId) !== -1) || userInfo.role === "超级管理员") {
return false
} else {
el.parentNode.removeChild(el)
}
}
})
}
}
在table插槽中使用:
....
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<div>
<el-button size="mini" v-role-btn="'btn_100083'" >编辑</el-button>
<el-button size="mini" v-role-btn="'btn_100084'">删除</el-button>
</div>
</template>
</el-table-column>
....
感谢反馈并给出解决方案,当时这样写只为了演示动态切换角色来查看切换后的权限,纯前端的那个是正确的,这个忘记修改了,马上修复