auth.vue 571 B

123456789101112131415161718192021222324252627
  1. <template>
  2. <slot v-if="getUserAuthBtnList" />
  3. </template>
  4. <script lang="ts">
  5. import { computed, defineComponent } from 'vue';
  6. import { useStore } from '/@/store/index';
  7. export default defineComponent({
  8. name: 'auth',
  9. props: {
  10. value: {
  11. type: String,
  12. default: () => '',
  13. },
  14. },
  15. setup(props) {
  16. const store = useStore();
  17. // 获取 vuex 中的用户权限
  18. const getUserAuthBtnList = computed(() => {
  19. return store.state.userInfos.userInfos.authBtnList.some((v: string) => v === props.value);
  20. });
  21. return {
  22. getUserAuthBtnList,
  23. };
  24. },
  25. });
  26. </script>