Skip to content
Navigation

CaptchaCode

图形验证码。

Features

  • 组件渲染时,自动获取一次图形验证码
  • 点击验证码图片时,可以刷新图形验证码
  • 在输入框输入的答案,会自动同步给父组件

Props

ts
defineProps({
  /**
   * 是否显示
   * @description 如果父组件是弹窗类的组件,需要传进来用于侦听验证码刷新
   */
  show: {
    type: Boolean,
    required: false,
    default: false,
  },

  /**
   * 验证码答案
   * @description 用于短信验证接口的参数
   * @tips 必须用双向绑定的形式来传递才能触发父组件的数据更新
   * @example `v-model:answer`
   */
  answer: {
    type: String,
    required: true,
    default: '',
  },

  /**
   * 获取图形验证码时的随机数
   * @description 用于短信验证接口的参数
   * @tips 必须用双向绑定的形式来传递才能触发父组件的数据更新
   * @example `v-model:randomStr`
   */
  randomStr: {
    type: String,
    required: true,
    default: '',
  },
})

Live Demo

answer: -

randomStr:

上面是数据,下面是组件

Usage Example

请注意使用 v-model:arg 的格式对 Props 进行双向绑定,否则无法触发数据更新。

vue
<template>
  <CaptchaCode
    v-model:answer="answer"
    v-model:randomStr="randomStr"
  />
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { CaptchaCode } from '@lunarxyz/components'

const answer = ref<string>('')
const randomStr = ref<string>('')
</script>

Released under the MIT License.