Skip to content

t-code

Code 代码

组件介绍

t-code 用于获取验证码场景,提供倒计时功能,通常用于发送短信验证码。支持自定义倒计时时间、提示文本,倒计时期间按钮自动禁用。

平台兼容

HarmonyH5AndroidiOS小程序UTS

基础用法

基础用法参考 demo/code/code.uvue,点击按钮开始倒计时,倒计时期间按钮禁用。

vue
<template>
  <view class="code-demo">
    <t-input v-model="phone" placeholder="请输入手机号" type="number"></t-input>
    <t-code 
      ref="codeRef"
      :seconds="60" 
      startText="获取验证码"
      changeText="秒后重试"
      endText="重新获取"
      @start="onStart"
      @change="onChange"
      @end="onEnd">
    </t-code>
  </view>
</template>

<script setup>
const phone = ref('');
const codeRef = ref(null);

function onStart() {
  console.log('倒计时开始');
  // 这里调用发送验证码接口
}

function onChange(seconds) {
  console.log('倒计时进行中:', seconds);
}

function onEnd() {
  console.log('倒计时结束');
}

// 手动开始倒计时
defineExpose({
  startCode() {
    codeRef.value?.start();
  },
  stopCode() {
    codeRef.value?.stops();
  }
});
</script>

<style scoped>
.code-demo {
  padding: 40rpx;
}
</style>

Props

属性名说明类型默认值
path点击组件后跳转的页面路径;为空时仅响应事件string''
hover是否启用点击效果booleantrue
type组件主题类型,可选 infoprimaryerrorwarningsuccessstring''
disabled是否禁用booleanfalse
effect组件显示主题,可选 normaldarklightplainstring'normal'
size组件尺寸,可选 largemediumsmallministring'mini'
seconds倒计时的秒数number60
startText尚未开始时的提示文本string'获取验证码'
changeText倒计时中的提示文本string'后重新获取'
endText倒计时结束时的提示文本string'重新获取'

Events

事件名说明回调参数
click点击时触发-
transitionend动画结束时触发-
initFinished组件初始化完成时触发-
touchstart触摸开始时触发-
touchend触摸结束时触发-
touchmove触摸移动时触发-
touchcancel触摸取消时触发-
start倒计时开始时触发-
change倒计时进行中触发number(剩余秒数)
end倒计时结束时触发number(0)

Methods

组件通过 defineExpose 暴露了以下实例方法:

方法名说明
start手动开始倒计时
stops手动停止倒计时