NumberKeyboard 数字键盘

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

默认样式

数字键盘提供了 、deleteblur 事件,分别对应输入内容、删除内容和失去焦点的动作。

  1. <van-cell @touchstart.stop="show = true">弹出默认键盘</van-cell>
  2. <van-number-keyboard
  3. :show="show"
  4. @blur="show = false"
  5. @input="onInput"
  6. @delete="onDelete"
  7. />
  1. import { Toast } from 'vant';
  2. export default {
  3. setup() {
  4. const show = ref(true);
  5. const onInput = (value) => Toast(value);
  6. const onDelete = () => Toast('删除');
  7. return {
  8. show,
  9. onInput,
  10. onDelete,
  11. };
  12. },
  13. };

带右侧栏的键盘

身份证号键盘

通过 extra-key 属性可以设置左下角按键内容,比如需要输入身份证号时,可以将 extra-key 设置为 。

  1. <van-cell plain type="primary" @touchstart.stop="show = true">
  2. 弹出身份证号键盘
  3. </van-cell>
  4. <van-number-keyboard
  5. :show="show"
  6. extra-key="X"
  7. close-button-text="完成"
  8. @blur="show = false"
  9. @input="onInput"
  10. @delete="onDelete"
  11. />

通过 title 属性可以设置键盘标题。

  1. 弹出带标题的键盘
  2. </van-cell>
  3. <van-number-keyboard
  4. :show="show"
  5. title="键盘标题"
  6. extra-key="."
  7. close-button-text="完成"
  8. @blur="show = false"
  9. @input="onInput"
  10. @delete="onDelete"
  11. />

配置多个按键

当 theme 为 custom 时,支持以数组的形式配置两个 extra-key

随机数字键盘

  1. <van-cell @touchstart.stop="show = true"> 弹出配置随机数字的键盘 </van-cell>
  2. :show="show"
  3. random-key-order
  4. @blur="show = false"
  5. @input="onInput"
  6. @delete="onDelete"
  7. />

双向绑定

可以通过 v-model 绑定键盘当前输入值,并通过 maxlength 属性来限制输入长度。

  1. <van-field v-model="value" readonly clickable @touchstart.stop="show = true" />
  2. <van-number-keyboard
  3. v-model="value"
  4. :show="show"
  5. :maxlength="6"
  6. @blur="show = false"
  7. />

Props

Slots

类型定义

组件导出以下类型定义:

    样式变量

    组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 。

    在桌面端无法操作组件?