Skip to content
在新窗口打开实时预览

Transition 过渡动画 ​

跨端内容进出场动画,Overlay 和 Popup 均使用该组件。离场完成前节点会继续保留,因此不会出现弹层瞬间消失的问题。

平台兼容性 ​

H5App微信小程序支付宝小程序
√√√√

基础用法 ​

vue
<snake-transition :show="visible" name="fade-up" :duration="300">
  <view class="card">内容</view>
</snake-transition>

动画名支持 fade、fade-up/down/left/right、slide-up/down/left/right、zoom-in 和 zoom-out。

分别设置进出场 ​

duration 可传对象,为进入和离开设置不同节奏;通过生命周期事件衔接数据准备或资源清理。

vue
<snake-transition :show="visible" name="slide-up" :duration="{ enter: 220, leave: 160 }" @after-enter="loadPanelData" @after-leave="resetPanel">
  <view class="sheet">内容</view>
</snake-transition>

快速切换 show 时,当前动画会被取消,并触发对应的 enter-cancelled 或 leave-cancelled;不要在取消事件中假定动画已完成。

API ​

Props ​

参数说明类型默认值
show是否显示内容booleantrue
name预设动画名stringfade
duration时长;对象可分别设置进出场number | { enter, leave }300
timingFunction动画曲线stringSnake 标准曲线
delay延迟时间,单位 msnumber0
appear首次显示是否执行动画booleanfalse
customClass自定义类名string''
customStyle根节点样式string | object | array''

Events ​

事件名触发时机参数
before-enter / enter / after-enter进入动画各阶段-
before-leave / leave / after-leave离开动画各阶段-
enter-cancelled / leave-cancelled动画被反向切换而取消-
click点击根节点event

Slots ​

插槽名说明
default执行过渡的内容

主题变量 ​

组件未直接使用 CSS 主题变量。可通过 customClass 和 customStyle 设置内容容器样式。

为 uni-app 商城与 CMS 场景设计