/*! For license information please see 9963.ef4c1df4.js.LICENSE.txt */ (self.webpackChunk=self.webpackChunk||[]).push([["9963"],{41643:function(s,n,t){"use strict";t.r(n);var a=t("80681");let e=["innerHTML"];n.default={setup:()=>({html:""}),render:()=>((0,a.wg)(),(0,a.iD)("div",{class:"van-doc-markdown-body",innerHTML:'
The NumberKeyboard component can be used with PasswordInput component or custom input box components.
\nRegister component globally via app.use
, refer to Component Registration for more registration ways.
import { createApp } from 'vue';\nimport { NumberKeyboard } from 'vant';\n\nconst app = createApp();\napp.use(NumberKeyboard);\n
\n<van-cell @touchstart.stop="show = true">Show Keyboard</van-cell>\n<van-number-keyboard\n :show="show"\n @blur="show = false"\n @input="onInput"\n @delete="onDelete"\n/>\n
\nimport { ref } from 'vue';\nimport { showToast } from 'vant';\n\nexport default {\n setup() {\n const show = ref(true);\n const onInput = (value) => showToast(value);\n const onDelete = () => showToast('delete');\n\n return {\n show,\n onInput,\n onDelete,\n };\n },\n};\n
\n<van-number-keyboard\n :show="show"\n theme="custom"\n extra-key="."\n close-button-text="Close"\n @blur="show = false"\n @input="onInput"\n @delete="onDelete"\n/>\n
\nUse extra-key
prop to set the content of bottom left button.
<van-cell plain type="primary" @touchstart.stop="show = true">\n Show IdNumber Keyboard\n</van-cell>\n\n<van-number-keyboard\n :show="show"\n extra-key="X"\n close-button-text="Close"\n @blur="show = false"\n @input="onInput"\n @delete="onDelete"\n/>\n
\nUse title
prop to set keyboard title.
<van-cell plain type="primary" @touchstart.stop="show = true">\n Show Keyboard With Title\n</van-cell>\n<van-number-keyboard\n :show="show"\n title="Keyboard Title"\n extra-key="."\n close-button-text="Close"\n @blur="show = false"\n @input="onInput"\n @delete="onDelete"\n/>\n
\n<van-cell plain type="primary" @touchstart.stop="show = true">\n Show Keyboard With Multiple ExtraKey\n</van-cell>\n<van-number-keyboard\n :show="show"\n theme="custom"\n :extra-key="['00', '.']"\n close-button-text="Close"\n @blur="show = false"\n @input="onInput"\n @delete="onDelete"\n/>\n
\nUse random-key-order
prop to shuffle the order of keys.
<van-cell @touchstart.stop="show = true">\n Show Keyboard With Random Key Order\n</van-cell>\n<van-number-keyboard\n :show="show"\n random-key-order\n @blur="show = false"\n @input="onInput"\n @delete="onDelete"\n/>\n
\n<van-field v-model="value" readonly clickable @touchstart.stop="show = true" />\n<van-number-keyboard\n v-model="value"\n :show="show"\n :maxlength="6"\n @blur="show = false"\n/>\n
\nimport { ref } from 'vue';\n\nexport default {\n setup() {\n const show = ref(true);\n const value = ref('');\n return {\n show,\n value,\n };\n },\n};\n
\nAttribute | \nDescription | \nType | \nDefault | \n
---|---|---|---|
v-model | \nCurrent value | \nstring | \n- | \n
show | \nWhether to show keyboard | \nboolean | \n- | \n
title | \nKeyboard title | \nstring | \n- | \n
theme | \nKeyboard theme, can be set to custom | \nstring | \ndefault | \n
maxlength | \nValue maxlength | \nnumber | string | \nInfinity | \n
transition | \nWhether to show transition animation | \nboolean | \ntrue | \n
z-index | \nKeyboard z-index | \nnumber | string | \n100 | \n
extra-key | \nContent of bottom left key | \nstring | string[] | \n\'\' | \n
close-button-text | \nClose button text | \nstring | \n- | \n
delete-button-text | \nDelete button text | \nstring | \nDelete Icon | \n
close-button-loading | \nWhether to show loading close button in custom theme | \nboolean | \nfalse | \n
show-delete-key | \nWhether to show delete button | \nboolean | \ntrue | \n
blur-on-close | \nWhether to emit blur event when clicking close button | \nboolean | \ntrue | \n
hide-on-click-outside | \nWhether to hide keyboard when outside is clicked | \nboolean | \ntrue | \n
teleport | \nSpecifies a target element where NumberKeyboard will be mounted | \nstring | Element | \n- | \n
safe-area-inset-bottom | \nWhether to enable bottom safe area adaptation | \nboolean | \ntrue | \n
random-key-order | \nWhether to shuffle the order of keys | \nboolean | \nfalse | \n
Event | \nDescription | \nArguments | \n
---|---|---|
input | \nEmitted when a key is pressed | \nkey: string | \n
delete | \nEmitted when the delete key is pressed | \n- | \n
close | \nEmitted when the close button is clicked | \n- | \n
blur | \nEmitted when the close button is clicked or the keyboard is blurred | \n- | \n
show | \nEmitted when keyboard is fully displayed | \n- | \n
hide | \nEmitted when keyboard is fully hidden | \n- | \n
Name | \nDescription | \n
---|---|
delete | \nCustom delete key content | \n
extra-key | \nCustom extra key content | \n
title-left | \nCustom title left content | \n
The component exports the following type definitions:
\nimport type { NumberKeyboardProps, NumberKeyboardTheme } from 'vant';\n
\nThe component provides the following CSS variables, which can be used to customize styles. Please refer to ConfigProvider component.
\nName | \nDefault Value | \nDescription | \n
---|---|---|
--van-number-keyboard-background | \nvar(--van-gray-2) | \n- | \n
--van-number-keyboard-key-height | \n48px | \n- | \n
--van-number-keyboard-key-font-size | \n28px | \n- | \n
--van-number-keyboard-key-active-color | \nvar(--van-gray-3) | \n- | \n
--van-number-keyboard-key-background | \nvar(--van-white) | \n- | \n
--van-number-keyboard-delete-font-size | \nvar(--van-font-size-lg) | \n- | \n
--van-number-keyboard-title-color | \nvar(--van-gray-7) | \n- | \n
--van-number-keyboard-title-height | \n34px | \n- | \n
--van-number-keyboard-title-font-size | \nvar(--van-font-size-lg) | \n- | \n
--van-number-keyboard-close-padding | \n0 var(--van-padding-md) | \n- | \n
--van-number-keyboard-close-color | \nvar(--van-primary-color) | \n- | \n
--van-number-keyboard-close-font-size | \nvar(--van-font-size-md) | \n- | \n
--van-number-keyboard-button-text-color | \nvar(--van-white) | \n- | \n
--van-number-keyboard-button-background | \nvar(--van-primary-color) | \n- | \n
--van-number-keyboard-z-index | \n100 | \n- | \n