Skip to content

Transition 动画

用于在元素进入或离开时应用过渡效果。

组件类型

淡入淡出

通过 name 指定淡入淡出相关动画,适合提示层、浮层、局部内容切换等场景。

html
<wd-transition :show="show" name="fade">
  <view>内容</view>
</wd-transition>

滑动动画

内置 slide-upslide-downslide-leftslide-right 四种滑动方向。

html
<wd-transition :show="show" name="slide-up">
  <view>内容</view>
</wd-transition>

缩放动画

内置 zoom-inzoom-out 两种缩放动画。

html
<wd-transition :show="show" name="zoom-in">
  <view>内容</view>
</wd-transition>

特殊样式

自定义动画

通过 enter-classenter-active-classenter-to-classleave-classleave-active-classleave-to-class 自定义进入和离开动画类名。

duration 支持数字,也支持分别配置进入和离开时长,例如 { enter: 700, leave: 1000 }

html
<wd-transition
  :show="customShow"
  :duration="{ enter: 700, leave: 1000 }"
  enter-class="custom-enter"
  enter-active-class="custom-enter-active"
  enter-to-class="custom-enter-to"
  leave-class="custom-leave"
  leave-active-class="custom-leave-active"
  leave-to-class="custom-leave-to"
  custom-class="block"
/>
scss
:deep(.block) {
  position: fixed;
  left: 50%;
  top: 50%;
  margin: -50px 0 0 -50px;
  width: 100px;
  height: 100px;
  background: #0083ff;
}

:deep(.custom-enter-active),
:deep(.custom-leave-active) {
  transition-property: background, transform;
}

:deep(.custom-enter) {
  transform: translate3d(-100px, -100px, 0) rotate(-180deg);
  background: #ff0000;
}

:deep(.custom-leave-to) {
  transform: translate3d(100px, 100px, 0) rotate(180deg);
  background: #ff0000;
}

Attributes

参数说明类型默认值
show是否展示组件booleanfalse
duration动画执行时间,支持统一时长或分别设置进入、离开时长number | boolean | Record<string, number>300
lazy-render是否在首次展示时再渲染内容booleanfalse
name动画类型,可选值为 fadefade-upfade-downfade-leftfade-rightslide-upslide-downslide-leftslide-rightzoom-inzoom-out,也支持数组组合多个动画TransitionName | TransitionName[]-
destroy是否在动画结束后通过 display: none 隐藏内容booleantrue
enter-class进入过渡的开始状态类名string''
enter-active-class进入过渡的激活状态类名string''
enter-to-class进入过渡的结束状态类名string''
leave-class离开过渡的开始状态类名string''
leave-active-class离开过渡的激活状态类名string''
leave-to-class离开过渡的结束状态类名string''
disable-touch-move v1.11.0是否阻止触摸滚动booleanfalse
custom-style自定义根节点样式string''
custom-class自定义根节点样式类string''

TransitionName 动画类型

名称说明
fade淡入淡出
fade-down向下淡入淡出
fade-left向左淡入淡出
fade-right向右淡入淡出
fade-up向上淡入淡出
slide-down向下滑动
slide-left向左滑动
slide-right向右滑动
slide-up向上滑动
zoom-in缩放进入
zoom-out缩放离开

Events

事件名称说明参数
before-enter进入前触发-
enter进入时触发-
after-enter进入后触发-
before-leave离开前触发-
leave离开时触发-
after-leave离开后触发-
click点击组件时触发-

Slots

名称说明
default需要应用动画效果的内容

源代码

文档
组件

Released under the MIT License.

Released under the MIT License.