更新记录

1.0.0(2026-09-01) 下载此版本

  • 首次发布。
  • 支持数字输入、退格、确认、隐藏、清空、长度限制和禁用状态。
  • 支持 Vue 2 v-model 和 Vue 3 v-model
  • 移除第三方 UI 组件依赖。

平台兼容性

uni-app(4.76)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

sy-number-keyboard 数字键盘

轻量、无第三方依赖的 uni-app 数字键盘组件,适合 PIN 码、支付密码、家长验证和短信验证码等纯数字输入场景。

安装

在 DCloud 插件市场导入后,组件会安装到 uni_modules/sy-number-keyboard。组件符合 easycom 规范,无需手动引入或注册。

基础用法

<template>
  <sy-number-keyboard
    v-model="code"
    :visible.sync="keyboardVisible"
    :maxlength="6"
    confirm-text="确定"
    @complete="handleComplete"
    @confirm="handleConfirm"
  />
</template>

<script>
export default {
  data() {
    return {
      code: "",
      keyboardVisible: true
    };
  },
  methods: {
    handleComplete(value) {
      console.log("输入完成", value);
    },
    handleConfirm(value) {
      console.log("点击确认", value);
    }
  }
};
</script>

Vue 3 中可使用 v-model:visible="keyboardVisible" 绑定显示状态。

Props

属性 类型 默认值 说明
value String / Number "" Vue 2 的 v-model
modelValue String / Number undefined Vue 3 的 v-model
maxlength Number 4 最大输入长度,必须为正整数
confirmText String "确定" 确认按钮文字
visible Boolean true 是否显示键盘
showHide Boolean true 是否显示隐藏键
disabled Boolean false 是否禁用所有按键

组件会过滤非数字字符,并按 maxlength 截断外部传入的值。

Events

事件 参数 说明
input value 输入变化,供 Vue 2 v-model 使用
update:modelValue value 输入变化,供 Vue 3 v-model 使用
change value 输入值发生变化
complete value 输入长度达到 maxlength
press digit 点击数字键
backspace value 退格后的值
overflow value 已达最大长度后继续点击数字键
confirm value 点击确认键
update:visible false 点击隐藏键,供显示状态双向绑定使用
hide 点击隐藏键
clear 调用 clear() 清空成功

Methods

通过 ref 调用 clear() 可清空当前输入:

this.$refs.keyboard.clear();

隐私与权限

组件不访问网络、不采集数据、不使用系统权限,也不包含广告。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集、存储或发送任何用户数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。