热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

uniappAPP开发软键盘禁止弹起,PDA用硬件键盘按钮输入数量

需求:input标签聚焦事件后默认弹起软键盘,PDA屏幕过小的情况下不需要弹起软键盘(软键盘弹起盖过80%的屏幕)问题点&#

需求:input标签聚焦事件后默认弹起软键盘,PDA屏幕过小的情况下不需要弹起软键盘(软键盘弹起盖过80%的屏幕)

问题点:使用键盘监听事件,监听输入的内容,每次监听只能返回一次一个字符串

插件市场下载链接:keyboard-listener - DCloud 插件市场uni-app 全局按键事件监听https://ext.dcloud.net.cn/plugin?id=2548 

实现原理:用插件监听键盘事件:过滤数字键和删除按键(只能输入数字和删除键)

把识别的数字加入数组中,按删除键则调用数组pop()方法删除最后一个,最后用join()

将数组转换字符串

代码: 

            emitKeyDown(e) {
                const arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
                const checkNum = arr.includes(e.key)
                ///弹出打印数量框,并且选了点了结尾数的情况要取消当前键盘输入
                if (!this.isfoucsWeight) {
                    if (checkNum) {
                        this.keydownNumPrint = [...this.keydownNumPrint, e.key]
                    } else if (e.key == 'Backspace' && this.keydownNumPrint.length > 0) {
                        this.keydownNumPrint.pop()
                        if (this.keydownNumPrint.length <1) return this.numberValue = 0
                    } else if (e.key == &#39;Backspace&#39; && this.keydownNumPrint.length <1) {
                        return this.$uniApi.showInfoMsg(`归零`);
                    } else if (!checkNum) {
                        return this.$uniApi.showInfoMsg(`当前打印框不能输入${e.key},只能识别数字和删除键`);
                    }
                        this.numberValue = this.keydownNumPrint.join("")
                }
            },

------------------

this.$uniApi.showInfoMsg()是自定义封装uni.showToast

this.keydownNumPrint  是存输入按键值的数组 

此方法用于不能用input输入数字的情况下使用


推荐阅读
  • C语言编写线程池的简单实现方法
    2019独角兽企业重金招聘Python工程师标准好文章,一起分享——有时我们会需要大量线程来处理一些相互独立的任务,为了避免频繁的申请释放线程所带 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ ... [详细]
  • 本文全面解析了 Python 中字符串处理的常用操作与技巧。首先介绍了如何通过 `s.strip()`, `s.lstrip()` 和 `s.rstrip()` 方法去除字符串中的空格和特殊符号。接着,详细讲解了字符串复制的方法,包括使用 `sStr1 = sStr2` 进行简单的赋值复制。此外,还探讨了字符串连接、分割、替换等高级操作,并提供了丰富的示例代码,帮助读者深入理解和掌握这些实用技巧。 ... [详细]
  • 【线段树】  本质是二叉树,每个节点表示一个区间[L,R],设m(R-L+1)2(该处结果向下取整)左孩子区间为[L,m],右孩子区间为[m ... [详细]
  • 题目链接: L - Floating-Point Numbers。题目要求处理带有15位小数的浮点数,计算其二进制表示的最大位数。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • WinMain 函数详解及示例
    本文详细介绍了 WinMain 函数的参数及其用途,并提供了一个具体的示例代码来解析 WinMain 函数的实现。 ... [详细]
  • String字符串与字符数组#includeStringintmain(){char*strhello;字符串与字符数组的关系:字符串是 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
author-avatar
艺静不循环_545_191
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有