From 439e3b0f076280311b7cd4251a95820730242780 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 07 八月 2024 10:43:33 +0800 Subject: [PATCH] 一些更新 --- src/components/Icon/src/SvgIcon.vue | 72 +++++++++++++++++------------------ 1 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/components/Icon/src/SvgIcon.vue b/src/components/Icon/src/SvgIcon.vue index 81691b0..e1ff0c2 100644 --- a/src/components/Icon/src/SvgIcon.vue +++ b/src/components/Icon/src/SvgIcon.vue @@ -7,51 +7,49 @@ <use :xlink:href="symbolId" /> </svg> </template> -<script lang="ts"> +<script lang="ts" setup> import type { CSSProperties } from 'vue'; - import { defineComponent, computed } from 'vue'; - import { useDesign } from '/@/hooks/web/useDesign'; + import { computed } from 'vue'; + import { useDesign } from '@/hooks/web/useDesign'; - export default defineComponent({ - name: 'SvgIcon', - props: { - prefix: { - type: String, - default: 'icon', - }, - name: { - type: String, - required: true, - }, - size: { - type: [Number, String], - default: 16, - }, - spin: { - type: Boolean, - default: false, - }, - }, - setup(props) { - const { prefixCls } = useDesign('svg-icon'); - const symbolId = computed(() => `#${props.prefix}-${props.name}`); + defineOptions({ name: 'SvgIcon' }); - const getStyle = computed((): CSSProperties => { - const { size } = props; - let s = `${size}`; - s = `${s.replace('px', '')}px`; - return { - width: s, - height: s, - }; - }); - return { symbolId, prefixCls, getStyle }; + const props = defineProps({ + prefix: { + type: String, + default: 'icon', }, + name: { + type: String, + required: true, + }, + size: { + type: [Number, String], + default: 16, + }, + spin: { + type: Boolean, + default: false, + }, + }); + + const { prefixCls } = useDesign('svg-icon'); + const symbolId = computed(() => `#${props.prefix}-${props.name}`); + + const getStyle = computed((): CSSProperties => { + const { size } = props; + let s = `${size}`; + s = `${s.replace('px', '')}px`; + return { + width: s, + height: s, + }; }); </script> <style lang="less" scoped> @prefix-cls: ~'@{namespace}-svg-icon'; - p .@{prefix-cls} { + + .@{prefix-cls} { display: inline-block; overflow: hidden; fill: currentcolor; -- Gitblit v1.9.3