auths.vue 678 B

1234567891011121314151617181920212223242526272829303132
  1. <template>
  2. <slot v-if="getUserAuthBtnList" />
  3. </template>
  4. <script setup lang="ts" name="auths">
  5. import { computed } from 'vue';
  6. import { storeToRefs } from 'pinia';
  7. import { useUserInfo } from '/@/stores/userInfo';
  8. // 定义父组件传过来的值
  9. const props = defineProps({
  10. value: {
  11. type: Array,
  12. default: () => [],
  13. },
  14. });
  15. // 定义变量内容
  16. const stores = useUserInfo();
  17. const { userInfos } = storeToRefs(stores);
  18. // 获取 pinia 中的用户权限
  19. const getUserAuthBtnList = computed(() => {
  20. let flag = false;
  21. userInfos.value.authBtnList.map((val: string) => {
  22. props.value.map((v) => {
  23. if (val === v) flag = true;
  24. });
  25. });
  26. return flag;
  27. });
  28. </script>