From e181f04c642204e79749af93fa921875ff6c21ba Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 20 五月 2025 10:46:35 +0800 Subject: [PATCH] refactor(qms): 重构趋势图展示逻辑 --- src/components/SvgIcon/index.vue | 39 ++++++++++++++++----------------------- 1 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue index 661ae51..05dfe87 100644 --- a/src/components/SvgIcon/index.vue +++ b/src/components/SvgIcon/index.vue @@ -1,32 +1,25 @@ +<template> + <svg :class="svgClass" aria-hidden="true"> + <use :xlink:href="iconName" :fill="color" /> + </svg> +</template> + <script setup lang="ts"> +import { propTypes } from '@/utils/propTypes'; + const props = defineProps({ - iconClass: { - type: String, - required: true - }, - className: { - type: String, - default: '' - }, - color: { - type: String, - default: '' - }, -}) -const iconName = computed(() => `#icon-${props.iconClass}`); + iconClass: propTypes.string.isRequired, + className: propTypes.string.def(''), + color: propTypes.string.def('') +}); +const iconName = computed(() => `#icon-${props.iconClass}`); const svgClass = computed(() => { if (props.className) { - return `svg-icon ${props.className}` + return `svg-icon ${props.className}`; } - return 'svg-icon' -}) + return 'svg-icon'; +}); </script> - -<template> - <svg :class="svgClass" aria-hidden="true"> - <use :xlink:href="iconName" :fill="color" /> - </svg> -</template> <style scope lang="scss"> .sub-el-icon, -- Gitblit v1.9.3