icon.vue 832 Bytes
<script setup lang="ts">
/**
 * 公共布局入口组件
 * @module Enter
 */
import { onMounted, reactive, computed } from "vue";
import {
  HomeFilled,
  Shop,
  List,
  Tools,
  Opportunity,
  PhoneFilled,
  Avatar,
  Menu as IconMenu,
} from "@element-plus/icons-vue";
/**
 * @description 组件属性
 * @prop {number} keyId 一级菜单id
 */
interface Props {
  keyId: number;
}
const props = withDefaults(defineProps<Props>(), {
  keyId: 0,
});
</script>

<template>
  <el-icon>
    <IconMenu v-if="keyId === -1" />
    <HomeFilled v-else-if="keyId === 1000" />
    <Tools v-else-if="keyId === 2000" />
    <Shop v-else-if="keyId === 3000" />
    <Avatar v-else-if="keyId === 4000" />
    <PhoneFilled v-else-if="keyId === 5000" />
    <Opportunity v-else-if="keyId === 6000" />
    <List v-else />
  </el-icon>
</template>