NumberKeyboard 数字键盘
引入
通过以下方式来全局注册组件,更多注册方式请参考。
默认样式
数字键盘提供了 、delete
、blur
事件,分别对应输入内容、删除内容和失去焦点的动作。
<van-cell @touchstart.stop="show = true">弹出默认键盘</van-cell>
<van-number-keyboard
:show="show"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
import { showToast } from 'vant';
export default {
setup() {
const show = ref(true);
const onInput = (value) => showToast(value);
const onDelete = () => showToast('删除');
return {
show,
onInput,
onDelete,
};
},
};
带右侧栏的键盘
身份证号键盘
通过 extra-key
属性可以设置左下角按键内容,比如需要输入身份证号时,可以将 extra-key
设置为 。
<van-cell plain type="primary" @touchstart.stop="show = true">
弹出身份证号键盘
</van-cell>
<van-number-keyboard
:show="show"
extra-key="X"
close-button-text="完成"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
通过 title
属性可以设置键盘标题。
弹出带标题的键盘
</van-cell>
<van-number-keyboard
:show="show"
title="键盘标题"
extra-key="."
close-button-text="完成"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
配置多个按键
当 theme 为 custom
时,支持以数组的形式配置两个 extra-key
。
随机数字键盘
<van-cell @touchstart.stop="show = true"> 弹出配置随机数字的键盘 </van-cell>
:show="show"
random-key-order
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
双向绑定
可以通过 v-model
绑定键盘当前输入值,并通过 maxlength
属性来限制输入长度。
<van-field v-model="value" readonly clickable @touchstart.stop="show = true" />
<van-number-keyboard
v-model="value"
:show="show"
:maxlength="6"
@blur="show = false"
/>
Props
Slots
类型定义
组件导出以下类型定义:
样式变量
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 。