auth.vue 600 B

1234567891011121314151617181920212223242526
  1. <template>
  2. <slot v-if="getUserAuthBtnList" />
  3. </template>
  4. <script setup lang="ts" name="auth">
  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: String,
  12. default: () => '',
  13. },
  14. });
  15. // 定义变量内容
  16. const stores = useUserInfo();
  17. const { userInfos } = storeToRefs(stores);
  18. // 获取 pinia 中的用户权限
  19. const getUserAuthBtnList = computed(() => {
  20. return userInfos.value.authBtnList.some((v: string) => v === props.value);
  21. });
  22. </script>