From 9618a17ab50262183f1c9949e45c7b01a31e9175 Mon Sep 17 00:00:00 2001 From: pany <939630029@qq.com> Date: Fri, 19 May 2023 20:02:02 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96=20?= =?UTF-8?q?directives/permission?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/directives/permission/index.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/directives/permission/index.ts b/src/directives/permission/index.ts index 8645357..841b686 100644 --- a/src/directives/permission/index.ts +++ b/src/directives/permission/index.ts @@ -5,14 +5,15 @@ import { useUserStoreHook } from "@/store/modules/user" export const permission: Directive = { mounted(el, binding) { const { value } = binding - const roles = useUserStoreHook().roles - if (value && value instanceof Array && value.length > 0) { + const { roles } = useUserStoreHook() + if (Array.isArray(value) && value.length > 0) { const permissionRoles = value - const hasPermission = roles.some((role) => { - return permissionRoles.includes(role) - }) + const hasPermission = roles.some((role) => permissionRoles.includes(role)) if (!hasPermission) { - el.style.display = "none" + // 隐藏 + // el.style.display = "none" + // 销毁 + el.parentNode?.removeChild(el) } } else { throw new Error(`need roles! Like v-permission="['admin','editor']"`)