import{o as t,a,y as n}from"./vue-libs.b44bc779.js";const l={class:"van-doc-markdown-body"},e=n(`
\u865A\u62DF\u6570\u5B57\u952E\u76D8\uFF0C\u53EF\u4EE5\u914D\u5408\u5BC6\u7801\u8F93\u5165\u6846\u7EC4\u4EF6\u6216\u81EA\u5B9A\u4E49\u7684\u8F93\u5165\u6846\u7EC4\u4EF6\u4F7F\u7528\u3002
\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002
import { createApp } from 'vue';
import { NumberKeyboard } from 'vant';
const app = createApp();
app.use(NumberKeyboard);
\u6570\u5B57\u952E\u76D8\u63D0\u4F9B\u4E86 input
\u3001delete
\u3001blur
\u4E8B\u4EF6\uFF0C\u5206\u522B\u5BF9\u5E94\u8F93\u5165\u5185\u5BB9\u3001\u5220\u9664\u5185\u5BB9\u548C\u5931\u53BB\u7126\u70B9\u7684\u52A8\u4F5C\u3002
<van-cell @touchstart.stop="show = true">\u5F39\u51FA\u9ED8\u8BA4\u952E\u76D8</van-cell>
<van-number-keyboard
:show="show"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const show = ref(true);
const onInput = (value) => Toast(value);
const onDelete = () => Toast('\u5220\u9664');
return {
show,
onInput,
onDelete,
};
},
};
\u70B9\u51FB\u952E\u76D8\u4EE5\u5916\u7684\u533A\u57DF\u65F6\uFF0C\u952E\u76D8\u4F1A\u81EA\u52A8\u6536\u8D77\uFF0C\u901A\u8FC7\u963B\u6B62\u5143\u7D20\u4E0A\u7684 touchstart \u4E8B\u4EF6\u5192\u6CE1\u53EF\u4EE5\u907F\u514D\u952E\u76D8\u6536\u8D77\u3002
\u5C06 theme \u5C5E\u6027\u8BBE\u7F6E\u4E3A custom
\u6765\u5C55\u793A\u952E\u76D8\u7684\u53F3\u4FA7\u680F\uFF0C\u5E38\u7528\u4E8E\u8F93\u5165\u91D1\u989D\u7684\u573A\u666F\u3002
<van-number-keyboard
:show="show"
theme="custom"
extra-key="."
close-button-text="\u5B8C\u6210"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
\u901A\u8FC7 extra-key
\u5C5E\u6027\u53EF\u4EE5\u8BBE\u7F6E\u5DE6\u4E0B\u89D2\u6309\u952E\u5185\u5BB9\uFF0C\u6BD4\u5982\u9700\u8981\u8F93\u5165\u8EAB\u4EFD\u8BC1\u53F7\u65F6\uFF0C\u53EF\u4EE5\u5C06 extra-key
\u8BBE\u7F6E\u4E3A X
\u3002
<van-cell plain type="primary" @touchstart.stop="show = true">
\u5F39\u51FA\u8EAB\u4EFD\u8BC1\u53F7\u952E\u76D8
</van-cell>
<van-number-keyboard
:show="show"
extra-key="X"
close-button-text="\u5B8C\u6210"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
\u901A\u8FC7 title
\u5C5E\u6027\u53EF\u4EE5\u8BBE\u7F6E\u952E\u76D8\u6807\u9898\u3002
<van-cell plain type="primary" @touchstart.stop="show = true">
\u5F39\u51FA\u5E26\u6807\u9898\u7684\u952E\u76D8
</van-cell>
<van-number-keyboard
:show="show"
title="\u952E\u76D8\u6807\u9898"
extra-key="."
close-button-text="\u5B8C\u6210"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
\u5F53 theme \u4E3A custom
\u65F6\uFF0C\u652F\u6301\u4EE5\u6570\u7EC4\u7684\u5F62\u5F0F\u914D\u7F6E\u4E24\u4E2A extra-key
\u3002
<van-cell plain type="primary" @touchstart.stop="show = true">
\u5F39\u51FA\u914D\u7F6E\u591A\u4E2A\u6309\u952E\u7684\u952E\u76D8
</van-cell>
<van-number-keyboard
:show="show"
theme="custom"
:extra-key="['00', '.']"
close-button-text="\u5B8C\u6210"
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
\u901A\u8FC7 random-key-order
\u5C5E\u6027\u53EF\u4EE5\u968F\u673A\u6392\u5E8F\u6570\u5B57\u952E\u76D8\uFF0C\u5E38\u7528\u4E8E\u5B89\u5168\u7B49\u7EA7\u8F83\u9AD8\u7684\u573A\u666F\u3002
<van-cell @touchstart.stop="show = true"> \u5F39\u51FA\u914D\u7F6E\u968F\u673A\u6570\u5B57\u7684\u952E\u76D8 </van-cell>
<van-number-keyboard
:show="show"
random-key-order
@blur="show = false"
@input="onInput"
@delete="onDelete"
/>
\u53EF\u4EE5\u901A\u8FC7 v-model
\u7ED1\u5B9A\u952E\u76D8\u5F53\u524D\u8F93\u5165\u503C\uFF0C\u5E76\u901A\u8FC7 maxlength
\u5C5E\u6027\u6765\u9650\u5236\u8F93\u5165\u957F\u5EA6\u3002
<van-field v-model="value" readonly clickable @touchstart.stop="show = true" />
<van-number-keyboard
v-model="value"
:show="show"
:maxlength="6"
@blur="show = false"
/>
import { ref } from 'vue';
export default {
setup() {
const show = ref(true);
const value = ref('');
return {
show,
value,
};
},
};
\u53C2\u6570 | \u8BF4\u660E | \u7C7B\u578B | \u9ED8\u8BA4\u503C |
---|---|---|---|
v-model | \u5F53\u524D\u8F93\u5165\u503C | string | - |
show | \u662F\u5426\u663E\u793A\u952E\u76D8 | boolean | - |
title | \u952E\u76D8\u6807\u9898 | string | - |
theme | \u6837\u5F0F\u98CE\u683C\uFF0C\u53EF\u9009\u503C\u4E3A custom | string | default |
maxlength | \u8F93\u5165\u503C\u6700\u5927\u957F\u5EA6 | number | string | Infinity |
transition | \u662F\u5426\u5F00\u542F\u8FC7\u573A\u52A8\u753B | boolean | true |
z-index | \u952E\u76D8 z-index \u5C42\u7EA7 | number | string | 100 |
extra-key | \u5E95\u90E8\u989D\u5916\u6309\u952E\u7684\u5185\u5BB9 | string | string[] | '' |
close-button-text | \u5173\u95ED\u6309\u94AE\u6587\u5B57\uFF0C\u7A7A\u5219\u4E0D\u5C55\u793A | string | - |
delete-button-text | \u5220\u9664\u6309\u94AE\u6587\u5B57\uFF0C\u7A7A\u5219\u5C55\u793A\u5220\u9664\u56FE\u6807 | string | - |
close-button-loading | \u662F\u5426\u5C06\u5173\u95ED\u6309\u94AE\u8BBE\u7F6E\u4E3A\u52A0\u8F7D\u4E2D\u72B6\u6001\uFF0C\u4EC5\u5728 theme="custom" \u65F6\u6709\u6548 | boolean | false |
show-delete-key | \u662F\u5426\u5C55\u793A\u5220\u9664\u56FE\u6807 | boolean | true |
blur-on-close v3.0.6 | \u662F\u5426\u5728\u70B9\u51FB\u5173\u95ED\u6309\u94AE\u65F6\u89E6\u53D1 blur \u4E8B\u4EF6 | boolean | true |
hide-on-click-outside | \u662F\u5426\u5728\u70B9\u51FB\u5916\u90E8\u65F6\u6536\u8D77\u952E\u76D8 | boolean | true |
teleport | \u6307\u5B9A\u6302\u8F7D\u7684\u8282\u70B9\uFF0C\u7B49\u540C\u4E8E Teleport \u7EC4\u4EF6\u7684 to \u5C5E\u6027 | string | Element | - |
safe-area-inset-bottom | \u662F\u5426\u5F00\u542F\u5E95\u90E8\u5B89\u5168\u533A\u9002\u914D | boolean | true |
random-key-order | \u662F\u5426\u5C06\u901A\u8FC7\u968F\u673A\u987A\u5E8F\u5C55\u793A\u6309\u952E | boolean | false |
\u4E8B\u4EF6\u540D | \u8BF4\u660E | \u56DE\u8C03\u53C2\u6570 |
---|---|---|
input | \u70B9\u51FB\u6309\u952E\u65F6\u89E6\u53D1 | key: string |
delete | \u70B9\u51FB\u5220\u9664\u952E\u65F6\u89E6\u53D1 | - |
close | \u70B9\u51FB\u5173\u95ED\u6309\u94AE\u65F6\u89E6\u53D1 | - |
blur | \u70B9\u51FB\u5173\u95ED\u6309\u94AE\u6216\u975E\u952E\u76D8\u533A\u57DF\u65F6\u89E6\u53D1 | - |
show | \u952E\u76D8\u5B8C\u5168\u5F39\u51FA\u65F6\u89E6\u53D1 | - |
hide | \u952E\u76D8\u5B8C\u5168\u6536\u8D77\u65F6\u89E6\u53D1 | - |
\u540D\u79F0 | \u8BF4\u660E |
---|---|
delete | \u81EA\u5B9A\u4E49\u5220\u9664\u6309\u952E\u5185\u5BB9 |
extra-key | \u81EA\u5B9A\u4E49\u5DE6\u4E0B\u89D2\u6309\u952E\u5185\u5BB9 |
title-left | \u81EA\u5B9A\u4E49\u6807\u9898\u680F\u5DE6\u4FA7\u5185\u5BB9 |
\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A
import type { NumberKeyboardProps, NumberKeyboardTheme } from 'vant';
\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002
\u540D\u79F0 | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 |
---|---|---|
--van-number-keyboard-background-color | var(--van-gray-2) | - |
--van-number-keyboard-key-height | 48px | - |
--van-number-keyboard-key-font-size | 28px | - |
--van-number-keyboard-key-active-color | var(--van-gray-3) | - |
--van-number-keyboard-key-background-color | var(--van-white) | - |
--van-number-keyboard-delete-font-size | var(--van-font-size-lg) | - |
--van-number-keyboard-title-color | var(--van-gray-7) | - |
--van-number-keyboard-title-height | 34px | - |
--van-number-keyboard-title-font-size | var(--van-font-size-lg) | - |
--van-number-keyboard-close-padding | 0 var(--van-padding-md) | - |
--van-number-keyboard-close-color | var(--van-text-link-color) | - |
--van-number-keyboard-close-font-size | var(--van-font-size-md) | - |
--van-number-keyboard-button-text-color | var(--van-white) | - |
--van-number-keyboard-button-background-color | var(--van-primary-color) | - |
--van-number-keyboard-z-index | 100 | - |
\u53C2\u89C1\u684C\u9762\u7AEF\u9002\u914D\u3002