NumberKeyboard 数字键盘

引入

默认样式

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

  1. <van-cell @touchstart.native.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. data() {
  4. show: true,
  5. };
  6. },
  7. methods: {
  8. onInput(value) {
  9. Toast(value);
  10. },
  11. onDelete() {
  12. Toast('删除');
  13. },
  14. },
  15. };

带右侧栏的键盘

将 theme 属性设置为 custom 来展示键盘的右侧栏,常用于输入金额的场景。

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

键盘标题

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

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

配置多个按键

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

随机数字键盘

通过 random-key-order 属性可以随机排序数字键盘,常用于安全等级较高的场景。

  1. <van-cell @touchstart.native.stop="show = true">
  2. 弹出配置随机数字的键盘
  3. </van-cell>
  4. <van-number-keyboard
  5. :show="show"
  6. random-key-order
  7. @blur="show = false"
  8. @input="onInput"
  9. @delete="onDelete"
  10. />
  1. <van-field
  2. readonly
  3. clickable
  4. :value="value"
  5. @touchstart.native.stop="show = true"
  6. />
  7. <van-number-keyboard
  8. :show="show"
  9. :maxlength="6"
  10. @blur="show = false"
  11. />

Props

Events

Slots

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

在桌面端无法操作组件?

参见桌面端适配