Skip to content

t-transition

Transition 过渡

组件介绍

t-transition 是用于实现元素过渡动画的组件,集合了常用的动画特效,如淡入淡出、滑动、缩放、心跳等,使页面之间的切换更加流畅和自然,增强用户体验。

平台兼容

HarmonyH5AndroidiOS小程序UTS

基础用法

基础用法参考 demo/transition/transition.uvue

vue
<template>
  <view class="transition-demo">
    <!-- 淡入淡出 -->
    <t-transition mode="fade">
      <view class="box">淡入淡出效果</view>
    </t-transition>
    
    <!-- 从上方滑入 -->
    <t-transition mode="fade-up">
      <view class="box">从上方滑入</view>
    </t-transition>
    
    <!-- 缩放效果 -->
    <t-transition mode="zoom" :duration="1000">
      <view class="box">缩放效果</view>
    </t-transition>
    
    <!-- 心跳效果 -->
    <t-transition mode="heartbeat" :animationIterationCount="3">
      <t-icon name="heart-fill" type="error" size="large"></t-icon>
    </t-transition>
    
    <!-- 手动触发 -->
    <t-transition ref="transitionRef" mode="fade-left" :autoPlay="false">
      <view class="box">点击按钮触发</view>
    </t-transition>
    <t-button @click="playTransition">播放动画</t-button>
  </view>
</template>

<script setup>
const transitionRef = ref(null);

function playTransition() {
  transitionRef.value?.play();
}
</script>

<style scoped>
.transition-demo {
  padding: 40rpx;
}
.box {
  width: 200rpx;
  height: 100rpx;
  background: #2979ff;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30rpx;
  border-radius: 12rpx;
}
</style>

Props

属性名说明类型默认值
mode动画模式,可选 fadefade-upfade-downfade-leftfade-rightzoomheartbeatstring''
autoPlay是否自动播放动画booleantrue
animationIterationCount动画播放次数,0 表示无限循环number1
duration动画播放时间(毫秒)number500
timingFunction动画缓动函数string'ease-in-out'
transformOrigin动画变换原点string'50% 50%'
path点击组件后跳转的页面路径string''
hover是否启用点击效果booleanfalse
type组件主题类型string''
disabled是否禁用booleanfalse
effect组件显示主题string''
size组件尺寸string''

动画模式说明

模式说明
fade渐隐渐显
fade-up从上方滑入
fade-down从下方滑入
fade-left从左方滑入
fade-right从右方滑入
zoom缩放旋转效果
heartbeat心跳缩放效果

Events

事件名说明回调参数
initFinished组件初始化完成触发组件节点信息
transitionend动画结束时触发event
click点击时触发event

方法

方法名说明
play()手动触发动画播放