Skip to content

Code 验证码输入框

用于输入验证码的组件,支持自定义长度、类型、遮罩模式、光标动画等特性。

  • 支持自定义验证码长度
  • 支持方框、底线、下划线等多种类型
  • 支持密码遮罩模式
  • 支持光标闪烁动画
  • 支持自定义键盘类型

注意

该组件在不同平台上的表现可能存在细微差异,请以实际效果为准。

平台差异说明

App(vue)App(nvue)H5小程序

基本使用

  • 通过 v-model 绑定输入值。
  • 默认 4 位验证码,自动聚焦。
html
<see-code v-model="code" @on-complete="handleComplete" />

<script lang="ts" setup>
import { ref } from 'vue';
const code = ref('');

const handleComplete = (value) => {
  console.log('验证码输入完成', value);
};
</script>

6 位验证码

  • 通过 length 设置验证码长度,默认为 4
html
<see-code v-model="code" :length="6" @on-complete="handleComplete" />

<script lang="ts" setup>
import { ref } from 'vue';
const code = ref('');

const handleComplete = (value) => {
  console.log('验证码输入完成', value);
};
</script>

不同类型

  • 通过 type 设置输入框样式类型,支持 box(方框)、line(底线)、middleLine(中线)、bottomLine(下划线)。
html
<see-code v-model="code1" type="box" />
<see-code v-model="code2" type="line" />
<see-code v-model="code3" type="middleLine" />
<see-code v-model="code4" type="bottomLine" />

<script lang="ts" setup>
import { ref } from 'vue';
const code1 = ref('');
const code2 = ref('');
const code3 = ref('');
const code4 = ref('');
</script>

遮罩模式

  • 通过设置 isMasktrue 启用密码遮罩模式,输入内容以圆点显示。
  • 适用于验证码保密场景。
html
<see-code v-model="code" isMask />

<script lang="ts" setup>
import { ref } from 'vue';
const code = ref('');
</script>

光标动画

  • 通过设置 isCursortrue 启用光标闪烁动画,默认为 true
html
<see-code v-model="code" isCursor />

<script lang="ts" setup>
import { ref } from 'vue';
const code = ref('');
</script>

自定义间距

  • 通过 gap 设置输入框之间的间距,单位为 px,默认为 10
html
<see-code v-model="code" :gap="20" />

<script lang="ts" setup>
import { ref } from 'vue';
const code = ref('');
</script>

API

Props

参数名说明类型默认值可选值
modelValue输入值string''-
length验证码长度number4-
isFocus是否自动聚焦booleantrue-
isDisabled是否禁用booleanfalse-
isReadonly是否只读booleanfalse-
size尺寸'small' | 'default' | 'large''default'-
type输入框类型'box' | 'line' | 'middleLine' | 'bottomLine''box'-
isMask是否遮罩模式booleanfalse-
gap输入框间距(px)number10-
name表单字段名string''-
keyboard键盘类型'number' | 'text''number'-
isCursor是否显示光标booleantrue-

Events

事件名说明回调参数
onChange输入值变化时触发value: string
onComplete验证码输入完成时触发value: string
onFocus输入框聚焦时触发event: Event
onBlur输入框失焦时触发event: Event

Expose

方法名说明参数返回值
focus使输入框聚焦-void
getValue获取当前输入值-string

辽 ICP 备 2025070134 号