Skip to content

Commit 7c4befb

Browse files
authored
Fix $route.meta.permission to Array type, invalid v-action management
Fix $route.meta.permission to Array type, invalid v-action management
1 parent 51f51a8 commit 7c4befb

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/permission.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,19 @@ const action = Vue.directive('action', {
8787
const permissionId = vnode.context.$route.meta.permission
8888
let actions = []
8989
roles.permissions.forEach(p => {
90-
if (p.permissionId !== permissionId) {
91-
return
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+
}
9299
}
93100
actions = p.actionList
94101
})
95-
if (actions.indexOf(actionName) < 0) {
102+
if (!actions.includes(actionName)) {
96103
el.parentNode && el.parentNode.removeChild(el) || (el.style.display = 'none')
97104
}
98105
}

0 commit comments

Comments
 (0)