mirror of
https://github.com/vbenjs/vben-admin-thin-next.git
synced 2025-01-24 10:33:47 +08:00
feat: add spin prop for Icon (#477)
Co-authored-by: 刘亚 <liuya54892@outlook.com>
This commit is contained in:
parent
021c6364fa
commit
6dd7d0f928
@ -1,5 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<svg :class="[prefixCls, $attrs.class]" :style="getStyle" aria-hidden="true">
|
<svg
|
||||||
|
:class="[prefixCls, $attrs.class, spin && 'svg-icon-spin']"
|
||||||
|
:style="getStyle"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
<use :xlink:href="symbolId" />
|
<use :xlink:href="symbolId" />
|
||||||
</svg>
|
</svg>
|
||||||
</template>
|
</template>
|
||||||
@ -23,6 +27,10 @@
|
|||||||
type: [Number, String],
|
type: [Number, String],
|
||||||
default: 16,
|
default: 16,
|
||||||
},
|
},
|
||||||
|
spin: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
const { prefixCls } = useDesign('svg-icon');
|
const { prefixCls } = useDesign('svg-icon');
|
||||||
@ -52,4 +60,8 @@
|
|||||||
vertical-align: -0.15em;
|
vertical-align: -0.15em;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.svg-icon-spin {
|
||||||
|
animation: loadingCircle 1s infinite linear;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<SvgIcon :size="size" :name="getSvgIcon" v-if="isSvgIcon" :class="[$attrs.class]" />
|
<SvgIcon :size="size" :name="getSvgIcon" v-if="isSvgIcon" :class="[$attrs.class]" :spin="spin" />
|
||||||
<span
|
<span
|
||||||
v-else
|
v-else
|
||||||
ref="elRef"
|
ref="elRef"
|
||||||
:class="[$attrs.class, 'app-iconify anticon']"
|
:class="[$attrs.class, 'app-iconify anticon', spin && 'app-iconify-spin']"
|
||||||
:style="getWrapStyle"
|
:style="getWrapStyle"
|
||||||
></span>
|
></span>
|
||||||
</template>
|
</template>
|
||||||
@ -39,6 +39,7 @@
|
|||||||
type: [String, Number] as PropType<string | number>,
|
type: [String, Number] as PropType<string | number>,
|
||||||
default: 16,
|
default: 16,
|
||||||
},
|
},
|
||||||
|
spin: propTypes.bool.def(false),
|
||||||
prefix: propTypes.string.def(''),
|
prefix: propTypes.string.def(''),
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
@ -99,6 +100,12 @@
|
|||||||
.app-iconify {
|
.app-iconify {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
|
|
||||||
|
&-spin {
|
||||||
|
svg {
|
||||||
|
animation: loadingCircle 1s infinite linear;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
span.iconify {
|
span.iconify {
|
||||||
|
Loading…
Reference in New Issue
Block a user