Skip to content

Commit bc8a4e3

Browse files
authored
优化代码
1 parent 7c4befb commit bc8a4e3

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

src/permission.js

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,24 +84,16 @@ const action = Vue.directive('action', {
8484
bind: function (el, binding, vnode) {
8585
const actionName = binding.arg
8686
const roles = store.getters.roles
87-
const permissionId = vnode.context.$route.meta.permission
88-
let actions = []
87+
const elVal = vnode.context.$route.meta.permission
88+
const permissionId = elVal instanceof String && [elVal] || elVal
8989
roles.permissions.forEach(p => {
90-
//$route.meta.permission 是否配置Array类型
91-
if (Array.isArray(permissionId)) {
92-
if (!permissionId.includes(p.permissionId)) {
93-
return
94-
}
95-
} else {
96-
if (p.permissionId !== permissionId) {
97-
return
98-
}
90+
if (!permissionId.includes(p.permissionId)) {
91+
return
92+
}
93+
if (p.actionList && !p.actionList.includes(actionName)) {
94+
el.parentNode && el.parentNode.removeChild(el) || (el.style.display = 'none')
9995
}
100-
actions = p.actionList
10196
})
102-
if (!actions.includes(actionName)) {
103-
el.parentNode && el.parentNode.removeChild(el) || (el.style.display = 'none')
104-
}
10597
}
10698
})
10799

0 commit comments

Comments
 (0)