2024年05月16日 建站教程
利用hasPermission统一的权限判断方法进行按钮判断是否显示!
<template>
<a-button v-if="hasPermission(['20000', '20001', '20003'])">
code拥有[20000,20001,20003]可见
</a-button>
</template>
<script lang="ts">
import { usePermission } from '/@/hooks/usePermission';
export default defineComponent({
setup() {
const { hasPermission } = usePermission();
return { hasPermission };
},
});
</script>
export function usePermission() {
function hasPermission(value, def = true) {
// 默认视为有权限
if (!value) {
return def;
}
const allCodeList = permissionStore.getPermCodeList;
if (!isArray(value)) {
return allCodeList.includes(value);
}
// intersection是lodash提供的一个方法,用于返回一个所有给定数组都存在的元素组成的数组
return (intersection(value, allCodeList)).length > 0;
return true;
}
}
本文链接:http://so.lmcjl.com/news/4642/