Skip to content

Password 密码输入框/短信输入框


按需引入

ts
import { createApp } from 'vue'
import App from './App.vue'
import { MePassword } from 'mine-h5-ui'
import 'mine-h5-ui/styles/MePassword.css'

createApp(App).use(MePassword).mount('#app')

提示

  • 如果你觉得重新编写 HTML 结构麻烦,可以直接复制下面的代码。

代码演示

基础用法

  • 通过 v-model 指令来设置输入框的值,一般配合数字键盘输入。
vue
<script lang="ts" setup>
import { ref } from 'vue'

/**
 * 当前输入框值
 */
const iptValue = ref('')

/**
 * 数字键盘显示状态
 */
const keyboardValue = ref(false)

/**
 * 密码输入框聚焦
 */
const onFocus = () => {
  keyboardValue.value = true
}

/**
 * 密码输入框失焦
 */
const onBlur = () => {
  keyboardValue.value = false
}

/**
 * 点击密码输入框数字按钮
 */
const handleNum = e => {
  iptValue.value += String(e)
}

/**
 * 点击密码输入框删除按钮
 */
const onDelete = () => {
  /**
   * 判断是否为空
   */
  iptValue.value && (iptValue.value = iptValue.value.split('').slice(0, -1).join(''))
}

/**
 * 点击密码输入框完成按钮
 */
const onComplate = () => {
  keyboardValue.value = false
}
</script>

<template>
  <me-password v-model="iptValue" @focus="onFocus" @blur="onBlur" />
  <me-keyboard v-model="keyboardValue" @click="handleNum" @delete="onDelete" @complate="onComplate"></me-keyboard>
</template>

选择主题样式

  • 通过 skin-type 属性来设置输入框的主题样式,默认值为 white。
vue
<template>
  <me-password v-model="iptValue" @focus="onFocus" @blur="onBlur" skin-type="dark" />
  <me-keyboard v-model="keyboardValue" @click="handleNum" @delete="onDelete" @complate="onComplate"></me-keyboard>
</template>

自定义输入框数量

  • 通过 num 属性来设置输入框的数量,默认值为 6。
vue
<template>
  <me-password v-model="iptValue" @focus="onFocus" @blur="onBlur" :num="4" />
  <me-keyboard v-model="keyboardValue" @click="handleNum" @delete="onDelete" @complate="onComplate"></me-keyboard>
</template>

选择输入框模式

  • 通过 type 属性来设置输入框的模式,默认值为 password。
vue
<template>
  <me-password v-model="iptValue" @focus="onFocus" @blur="onBlur" type="number" />
  <me-keyboard v-model="keyboardValue" @click="handleNum" @delete="onDelete" @complate="onComplate"></me-keyboard>
</template>

API

参数

参数说明类型可选值默认值版本
v-model双向绑定输入框的值string----v2.0.0
type输入框模式stringpassword / numberpasswordv2.0.0
num自定义输入框数量number--6v2.0.0
skin-type主题样式stringwhite / darkwhitev2.0.0

方法

方法名说明回调参数版本
focus输入框聚焦时触发的事件event: MouseEventv2.3.5
blur输入框失去焦点时触发的事件event: MouseEventv2.3.5

基于 MIT 许可发布