diff --git a/src/directives/index.js b/src/directives/index.js index f27a036..14f2f9a 100644 --- a/src/directives/index.js +++ b/src/directives/index.js @@ -7,6 +7,7 @@ **********************************/ import { router } from '@/router' +import { withDirectives } from 'vue' const permission = { mounted(el, binding) { @@ -21,3 +22,17 @@ const permission = { export function setupDirectives(app) { app.directive('permission', permission) } + +/** + * 用于h函数使用自定义权限指令 + * + * @param {*} vnode 虚拟节点 + * @param {*} code 权限码 + * @returns 返回一个包含权限指令的vnode + * + * 使用示例:withPermission(h('button', {class: 'text-red-500'}, '删除'), 'user:delete') + * + */ +export function withPermission(vnode, code) { + return withDirectives(vnode, [[permission, code]]) +} diff --git a/src/views/pms/user/index.vue b/src/views/pms/user/index.vue index fc56310..ce393e5 100644 --- a/src/views/pms/user/index.vue +++ b/src/views/pms/user/index.vue @@ -112,6 +112,7 @@