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

需求: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 == 'Backspace' && 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输入数字的情况下使用

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值