Skip to content

AnimatedIcon-DEMO


vue
<fv-AnimatedIcon fontSize="36">
</fv-AnimatedIcon>

Present Animation


  1. Scale Down
vue
<fv-AnimatedIcon fontSize="20">
</fv-AnimatedIcon>
  1. Scale X Down
vue
<fv-AnimatedIcon modelValue="scaleXDown" fontSize="20" icon="GlobalNavButton">
</fv-AnimatedIcon>
  1. Scale Y Down
vue
<fv-AnimatedIcon modelValue="scaleYDown" fontSize="20" icon="Pause">
</fv-AnimatedIcon>
  1. Back Scale
vue
<fv-AnimatedIcon modelValue="backScale" fontSize="20" icon="Back">
</fv-AnimatedIcon>
  1. Bounce Rotate
vue
<fv-AnimatedIcon modelValue="bounceRotate" fontSize="20" icon="Settings">
</fv-AnimatedIcon>

AnimatedIcon-With Content


vue
<fv-AnimatedIcon modelValue="bounceRotate" fontSize="20" icon="Settings">
    <template v-slot:content>
        <div style="margin-left: 5px;">Settings</div>
    </template>
</fv-AnimatedIcon>

AnimatedIcon-Customize Animation


vue
<fv-AnimatedIcon :customizeAnimation="animation" fontSize="20" icon="Settings">
</fv-AnimatedIcon>

<script>
data () {
    return {
        animation: {
            enter: {
                transform: 'rotate(-180deg)',
                transition: `transform 0.1s`
            },
            leave: [
                {
                    transform: 'rotate(365deg)',
                    transition: `transform 0.3s`
                },
                {
                    transform: 'rotate(360deg)',
                    transition: `transform 0.1s`
                },
                {
                    transform: 'rotate(0deg)'
                }
            ]
        }
    }
}
</script>
  • Event types include enter, move, down, up, leave and corresponding to the MouseEvent and TouchEvent automatically.

  • Each event can be declared as an object contain styles or an array contain multiple styles object. The transitions of an array will execute in order.

AnimatedIcon-Customize Background


vue
<fv-AnimatedIcon modelValue="scaleYDown" fontSize="20" icon="Pause" background="whitesmoke">
</fv-AnimatedIcon>

AnimatedIcon-Dark Theme


vue
<fv-AnimatedIcon theme="dark" fontSize="20">
</fv-AnimatedIcon>

属性


属性类型必填默认值说明
modelValuestring'scaleDown'动画预设名称。
iconstring'Search'Icon with Fabric-Icon
customizeAnimationbooleanfalse自定义动画。
backgroundstring''背景色。
fontSizenumber16AnimatedIcon 字体大小。
hideContentbooleanfalse隐藏文本内容。
themestring'global'主题样式。支持 globallightdarksystemcustom
disabledbooleanfalse参见组件的 disabled 选项。
langstring"global"参见组件的 lang 选项。

事件


事件名参数说明
clickeventAnimatedIcon onclick

插槽


  1. Default

默认模板是图标自定义模板

javascript
<fv-animated-icon>
    <div></div>
</fv-animated-icon>
  1. Content

客制化修改文字内容

javascript
<fv-animated-icon>
    <template v-slot:content>
        <div>Content</div>
    </template>
</fv-animated-icon>

MIT Licensed