Skip to content
12:13

TnKeyboard-软键盘

软键盘一般用于需要输入指定内容,例如:密码、手机号、验证码、身份证、车牌号码等

组件位置

typescript
import TnKeyboard from '@tuniao/tnui-vue3-uniapp/components/keyboard/src/keyboard.vue'
import TnKeyboard from '@tuniao/tnui-vue3-uniapp/components/keyboard/src/keyboard.vue'
typescript
import TnKeyboard from '@/uni_modules/tuniaoui-vue3/components/keyboard/src/keyboard.vue'
import TnKeyboard from '@/uni_modules/tuniaoui-vue3/components/keyboard/src/keyboard.vue'

平台差异说明

App(vue)H5微信小程序支付宝小程序...
适配中

基础使用

  • 通过v-model绑定键盘输入的值
  • 通过v-model:show 或者 show 可以控制键盘的显示和隐藏
  • 通过disabled属性可以禁用键盘,禁用键盘后之后删除确认按钮可以正常使用,其他按钮均为禁止状态
vue
<script lang="ts" setup>
import { ref } from 'vue'

const keyboardValue = ref('')
const showKeyboard = ref(false)

const openKeyboard = () => {
  showKeyboard.value = true
}
</script>

<template>
  <TnButton type="primary" @click="openKeyboard">打开键盘</TnButton>

  <TnKeyboard v-model="keyboardValue" v-model:show="showKeyboard" />
</template>
<script lang="ts" setup>
import { ref } from 'vue'

const keyboardValue = ref('')
const showKeyboard = ref(false)

const openKeyboard = () => {
  showKeyboard.value = true
}
</script>

<template>
  <TnButton type="primary" @click="openKeyboard">打开键盘</TnButton>

  <TnKeyboard v-model="keyboardValue" v-model:show="showKeyboard" />
</template>

禁用键盘

vue
<template>
  <TnKeyboard v-model="keyboardValue" v-model:show="showKeyboard" disabled />
</template>
<template>
  <TnKeyboard v-model="keyboardValue" v-model:show="showKeyboard" disabled />
</template>

软键盘类型

可以通过mode属性修改软键盘的类型,有效值为numberdigitrandomidcardcar,默认为number

数字键盘-number

在该键盘下,只能输入数字,不包含小数点

vue
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="number"
  />
</template>
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="number"
  />
</template>

数字键盘-digit

在该键盘下,可以输入数字和小数点

vue
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="digit"
  />
</template>
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="digit"
  />
</template>

随机键盘-random

在该键盘下,可以输入数字不包含小数点,此时键盘上的数字为随机排列

vue
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="random"
  />
</template>
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="random"
  />
</template>

身份证键盘-idcard

在该键盘下,可以输入数字和 X 字母

vue
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="idcard"
  />
</template>
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    mode="idcard"
  />
</template>

车牌号键盘-car

在改键盘下可以通过v-model:car-lang属性修改当前输入的是省份还是车牌号,有效值为cnen,默认为cn

vue
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    v-model:car-lang="carLang"
    mode="car"
  />
</template>
<template>
  <TnKeyboard
    v-model="keyboardValue"
    v-model:show="showKeyboard"
    v-model:car-lang="carLang"
    mode="car"
  />
</template>

API

Props

属性名说明类型默认值可选值
v-model / model-value键盘输入绑定的值String--
v-model:show / show是否显示键盘Booleanfalsetrue
disabled禁止键盘输入Booleanfalsetrue
mode键盘类型,详细说明可以参照上面Stringnumberdigit \ idcard \ random \ car
car-lang车牌键盘中/英文模式,在 modecar 时生效Stringcnen
vibrate点击按钮是否有震动效果Booleantruefalse
long-press-delete是否允许长按删除删除内容Booleantruefalse
overlay-closeable点击遮罩关闭键盘Booleantruefalse
z-indexzIndexNumber20075-

Event

事件名说明类型
change键盘输入发生变化(value: string) => void
close键盘关闭事件() => void
backspace点击删除按钮触发() => void
confirm点击确认按钮触发() => void

Tuniao UI