阅读(3054) (0)

Vant NumberKeyboard 数字键盘

2020-02-05 09:51:43 更新

介绍

数字键盘,提供两种样式风格,可以与密码输入框或自定义的输入框组件配合使用

引入

import Vue from 'vue';
import { NumberKeyboard } from 'vant';

Vue.use(NumberKeyboard);

代码演示

默认样式

<van-button @touchstart.stop="show = true">
  弹出默认键盘
</van-button>
<van-number-keyboard
  :show="show"
  extra-key="."
  close-button-text="完成"
  @blur="show = false"
  @input="onInput"
  @delete="onDelete"
/>
import { Toast } from 'vant';

export default {
  data() {
    return {
      show: true
    }
  },
  methods: {
    onInput(value) {
      Toast(value);
    },
    onDelete() {
      Toast('删除');
    }
  }
}

自定义样式

<van-number-keyboard
  :show="show"
  theme="custom"
  extra-key="."
  close-button-text="完成"
  @blur="show = false"
  @input="onInput"
  @delete="onDelete"
/>

双向绑定

可以通过v-model绑定键盘当前输入值

<van-field
  readonly
  clickable
  :value="value"
  @touchstart.native.stop="show = true"
/>

<van-number-keyboard
  v-model="value"
  :show="show"
  :maxlength="6"
  @blur="show = false"
/>
export default {
  data() {
    return {
      show: false,
      value: ''
    }
  }
}

左下角按键内容

通过extra-key属性可以设置左下角按键内容

<van-button plain type="primary" @touchstart.stop="show = true'">
  弹出身份证号码键盘
</van-button>

<van-number-keyboard
  :show="show"
  close-button-text="完成"
  extra-key="X"
  @blur="show = false"
  @input="onInput"
  @delete="onDelete"
/>

键盘标题

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

<van-button plain type="info" @touchstart.stop="show = true'">
  弹出自定义标题键盘
</van-button>

<van-number-keyboard
  :show="show"
  close-button-text="完成"
  title="键盘标题"
  extra-key="."
  @blur="show = false"
  @input="onInput"
  @delete="onDelete"
/>

API

Props

参数说明类型默认值
v-model v2.0.2当前输入值string-
show是否显示键盘boolean-
theme样式风格,可选值为 default customstringdefault
title键盘标题string-
maxlength v2.0.2输入值最大长度number | string-
transition是否开启过场动画booleantrue
z-index键盘 z-indexnumber | string100
extra-key左下角按键内容string''
close-button-text关闭按钮文字,空则不展示string-
delete-button-text删除按钮文字string删除
show-delete-key是否展示删除按钮booleantrue
hide-on-click-outside点击外部时是否收起键盘booleantrue
safe-area-inset-bottom是否开启 底部安全区适配booleantrue

Events

事件名说明回调参数
input点击按键时触发key: 按键内容
delete点击删除键时触发-
close点击关闭按钮时触发-
blur点击关闭按钮或非键盘区域时触发-
show键盘完全弹出时触发-
hide键盘完全收起时触发-

Slots

名称说明
delete自定义删除按键内容
extra-key自定义左下角按键内容
title-left自定义标题栏左侧内容

常见问题

在桌面端无法操作组件?

参见在桌面端使用


实例演示