Keyboard 键盘

mView自定义键盘,包含英文键盘,身份证键盘,数字键盘3中模式,都有可以打乱按键顺序的选项。

平台差异说明

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

基本使用

通过mode参数定义键盘的类型,show绑定一个值为布尔值的变量控制键盘的弹出与收起:

  • mode = '' (默认值)为英文键盘,此时顶部工具条中间的提示文字为"英文键盘"
  • mode = number为数字键盘,此时顶部工具条中间的提示文字为"数字键盘"
  • mode = card 为身份证键盘,此时顶部工具条中间的提示文字为"身份证键盘"
<template>
    <view>
        <m-common title="键盘" />
        <m-cell-group border>
            <m-cell
                title="基本使用"
                is-link
                @click="handleClick"
            />
        </m-cell-group>
        <m-keyboard
            :show="show"
            mode="number"
            @close="show = false"
            @cancel="show = false"
            @confirm="show = false"
        />
    </view>
</template>

<script lang="ts" setup>
import {ref} from 'vue'

const show = ref(false)

const handleClick = () => {
    show.value = true
}
</script>

<style>

</style>

隐藏键盘"."符号

通过dotDisabled参数配置是否显示键盘"."符号,默认为false,只在"mode = number"时生效

<m-keyboard mode="number" :dotDisabled="true"></u-keyboard>

是否打乱按键的顺序

如果配置random参数为true的话,每次打开键盘,按键的顺序都是随机的,该功能默认是关闭的

如何控制键盘的打开和关闭?

需要默认就打开键盘,这事你设置showtrue的时期很有考究,请在onReady生命周期里设置show.value = true避免m-keyboard组件尚未创建完成。

如何监听键盘按键被点击?

  • 输入值是通过组件的change事件实现的,组件内部每个按键被点击的时候,组件就会发出一个change事件,回调参数为点击的按键的值。
  • 通过backspace事件监听键盘退格键的点击,通过修改父组件的值实现退格的效果,见下方示例

注意:点击退格键(也即删除键)不会触发change事件

<template>
    <m-keyboard @change="change" @backspace="backspace"/>
</template>

<script lang="ts" setup>
import {ref} from 'vue'

const value = ref('')

const change = val => {
    // 将每次按键的值拼接到value变量中,注意+=写法
    value.value += val
}

const backspace = () => {
    // 删除value的最后一个字符
    if (value.value.length) value.value = value.value.substr(0, value.value.length - 1)
}
</script>

API

Props

参数说明类型默认值可选值
show控制键盘的弹出与收起Booleanfalsetrue
vibrate是否启动点击震动,h5不支持,兼容性查看open in new windowBooleanfalsetrue
mode键盘类型,默认英文键盘String-number | card
dotDisabled是否显示"."按键,只在mode=number时有效Booleanfalsetrue
tooltip是否显示键盘顶部工具条Booleantruefalse
showTips是否显示工具条中间的提示Booleantruefalse
tips工具条中间的提示文字,见上方基本使用的说明String--
showCancel是否显示工具条左边的"取消"按钮Booleantruefalse
showConfirm是否显示工具条右边的"完成"按钮Booleantruefalse
cancelText取消按钮的文字String取消-
confirmText确认按钮的文字String确定-
random是否打乱键盘按键的顺序Booleanfalsetrue
safeAreaInsetBottom是否开启底部安全区适配Booleanfalsetrue
closeOnClickOverlay是否允许点击遮罩收起键盘(注意:关闭事件需要自行处理,只会在开启closeOnClickOverlay后点击遮罩层执行close回调)Booleantruefalse
overlay是否显示遮罩Booleantruefalse
zIndex弹出键盘的z-indexNumber | String10075-

Slot

名称说明
default内容将会显示键盘的工具条上面

Event

事件名说明回调参数
change按键被点击(不包含退格键被点击)按键的值
close键盘关闭-
confirm键盘顶部工具条右边的"确定"按钮被点击-
cancel键盘顶部工具条左边的"取消"按钮被点击-
backspace键盘退格键被点击-