1.0.2 • Published 2 months ago

@tanzhenxing/zx-number-keyboard v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 months ago

zx-number-keyboard 数字键盘

虚拟数字键盘,可以配合密码输入框组件或自定义的输入框组件使用。

平台兼容性

H5App小程序

基本使用

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

<template>
  <input type="text" :value="value" @focus="show = true" readonly placeholder="点击弹出默认键盘" />
  <zx-number-keyboard
    :show="show"
    v-model="value"
    @blur="show = false"
    @input="onInput"
    @delete="onDelete"
  />
</template>

<script setup>
import { ref } from 'vue';

const show = ref(false);
const value = ref('');

const onInput = (inputValue) => {
  console.log('输入:', inputValue);
};

const onDelete = () => {
  console.log('删除');
};
</script>

带右侧栏的键盘

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

<zx-number-keyboard
  :show="show"
  theme="custom"
  extra-key="."
  close-button-text="完成"
  v-model="value"
  @blur="show = false"
/>

身份证号键盘

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

<zx-number-keyboard
  :show="show"
  extra-key="X"
  close-button-text="完成"
  v-model="value"
  @blur="show = false"
/>

键盘标题

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

<zx-number-keyboard
  :show="show"
  title="请输入支付密码"
  extra-key="."
  close-button-text="完成"
  v-model="value"
  @blur="show = false"
/>

配置多个按键

themecustom 时,支持以数组的形式配置两个 extra-key

<zx-number-keyboard
  :show="show"
  theme="custom"
  :extra-key="['00', '.']"
  close-button-text="完成"
  v-model="value"
  @blur="show = false"
/>

随机数字键盘

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

<zx-number-keyboard
  :show="show"
  random-key-order
  v-model="value"
  @blur="show = false"
/>

双向绑定

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

<input type="text" v-model="value" readonly @focus="show = true" />
<zx-number-keyboard
  v-model="value"
  :show="show"
  :maxlength="6"
  @blur="show = false"
/>

Props

参数说明类型默认值
v-model当前输入值String''
show是否显示键盘Booleanfalse
title键盘标题String''
theme样式风格,可选值为 customStringdefault
maxlength输入值最大长度Number | StringInfinity
z-index键盘 z-index 层级Number | String100
extra-key底部额外按键的内容, themecustom时可为数组传入两个值String | Array<String>''
close-button-text关闭按钮文字,空则不展示(themedefault时生效)String完成
delete-button-text删除按钮文字,空则展示删除图标String''
close-button-loading是否将关闭按钮设置为加载中状态(仅在 theme="custom" 时有效)Booleanfalse
show-delete-key是否展示删除图标/文字Booleantrue
blur-on-close是否在点击关闭按钮时触发 blur 事件Booleantrue
hide-on-click-outside是否在点击外部时收起键盘 (uni-app中建议在页面控制该逻辑)Booleantrue
safe-area-inset-bottom是否开启底部安全区适配Booleantrue
random-key-order是否将通过随机顺序展示按键Booleanfalse

Events

事件名说明回调参数
input点击按键时触发key: String
delete点击删除键时触发-
close点击关闭按钮时触发 (themecustom时生效)-
blur点击关闭按钮或非键盘区域时触发-
show键盘完全弹出时触发 (若transitionfalse则同步触发)-
hide键盘完全收起时触发 (若transitionfalse则同步触发)-

Slots

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

2 months ago

1.0.0

12 months ago