uni-app nvue下的input 键盘回车和扫码无法触发 confirm。pda环境,采集带有回车无法触发confirm,硬件盘回车也无法触发,只能使用软键盘
uni-app nvue下的input 键盘回车和扫码无法触发 confirm。pda环境,采集带有回车无法触发confirm,硬件盘回车也无法触发,只能使用软键盘
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:3.1.2
手机系统:Android
手机系统版本号:Android 6.0
手机厂商:PDA
手机机型:PDA
页面类型:nvue
打包方式:云端
示例代码:
<view class="inputborder">
<input ref="input" class="input" v-model="value" @confirm="confirm1"
:auto-blur="false" :focus="true" :confirm-hold="true" :placeholder="placeholder"
@focus="hideKeyboard" @click="clickinput" confirm-type="send" />
</view>
操作步骤: 1
预期结果: 1
实际结果: 1
bug描述: nvue下的input 键盘回车和扫码无法触发 confirm。pda环境,采集带有回车,无法触发confirm,硬件盘回车也无法触发,只能使用软键盘
开发PDA心真的好累
更多关于uni-app nvue下的input 键盘回车和扫码无法触发 confirm。pda环境,采集带有回车无法触发confirm,硬件盘回车也无法触发,只能使用软键盘的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1.vue的 input pad连续扫码会失去焦点,2.nuve pad 无法触发confirm事件。3有焦点无软盘的体验很差。react-native 没有这三个问题。希望官方提高pad扫描体验
更多关于uni-app nvue下的input 键盘回车和扫码无法触发 confirm。pda环境,采集带有回车无法触发confirm,硬件盘回车也无法触发,只能使用软键盘的实战教程也可以访问 https://www.itying.com/category-93-b0.html
react-native 很方便的解决。uniapp 还需$nextTick ,还不稳定
PDA应用场景只适合通过input,广播和键盘事件体验都不好。原本使用vue页面但是软键盘太频繁才尝试使用nvue,结果无法触发confrim
您好,这个问题最后解决了吗,怎么解决的
回复 大佬救命:官方没有解决
试下手机设备是否正常。
正常的,就是扫码的回车无法识别,所以无法除非 confirm ,Vue input的confirm是可以的
手机设备没有采集器,只能用过软件盘,而软键盘完成是正常的
回复 状态的状zhuang: 模拟器测试使用硬件键盘回车键是可以触发@confirm 你可以pc模拟器试下
回复 DCloud_Android_ST: 主要是真机不可以,我测试Vue页面是可以的
回复 状态的状zhuang:我说的是nvue 你真机不行我也不清楚原因 至少硬件键盘是可以的
回复 DCloud_Android_ST: 你外接个键盘试试
回复 DCloud_Android_ST: 那好吧,我也不知道什么原因,反正就是vue页面没问题,nvue就不行,谢谢您了,我再研究一下其他开发方式吧。
回复 DCloud_Android_ST: 软键盘隐藏后, PDA的硬键盘按回车也是无效的,但是如果显示了软键盘,再按回车就有效了。
真的请求官方对PDA有些小小的考虑,我看社区有很多人搞PDA ,不需要做什么太多的改动,只需要 input可选获取焦点时,可选是否显示软键盘。和nvue下的 input的@confirm可以正常识别扫描回车符触发即可。 实在不行收点费用也行,只要价格合理,真的没办法了。
目前没有相关设备 我们这边都是使用手机测试。这个问题我们看看吧
回复 DCloud_Android_ST: 感激呀,谢谢谢谢
回复 DCloud_Android_ST: 可以测试PDA试试的,现在做PDA的也不少呢
回复 DCloud_Android_ST: PDA真不行,目前是NVUE无法捕获回车键,除非软键盘
回复 DCloud_Android_ST: 这个不是手机的问题啊,就是NVUE无法捕获回车事件
回复 1***@qq.com: 是呀,是呀。
扫描使用Input是最完美的方式,至于广播和键盘监听,实际应用过程中还是存在很多问题的
let previous = 0
input1() {
if (this.value.length - previous > 1) {
previous = 0;
let val = this.value;
this.$nextTick(() => {
this.value = “”
})
this.input(val);
} else {
previous = this.value.length;
}
},
回车是无法解决了,但是我换了一种方式实现了提交
能麻烦详细讲解一下吗 这段代码没怎么看明白
回复 Zzz1012: 就检查@inpout的字符变化,一般输入都是一个字符一个字符的,扫描的才会多个字符
回复 1***@qq.com: 怎么用呢 我也遇到这个问题 好头疼
换个输入 法。百度输入法会把扫描枪后面跟的回车删除掉。我用的新大陆的MT10吧。用搜狗就成。
换个输入 法。百度输入法会把扫描枪后面跟的回车删除掉。我用的新大陆的MT10吧。用搜狗就成。
和输入法没有关系呢,我不开软键盘的情况下,硬件回车都无效的。扫描就更识别不了回车了
采集录入方式是录入到编辑框,不是模拟键盘呢,所以和输入法没有关系。
pda使用input不显示键盘的解决方案有了https://ask.dcloud.net.cn/article/39723
请问是哪个哈
回复 状态的状zhuang: 可以看链接内容
解决掉了吗?我现在也遇到这个问题了.
我是因为可能数据过多所以改成了nvue模式
现在发现pda不能触发回车事件
私信下我 提供联系方式
我遇到了这个问题并解决掉了,结束符设置为CR结束即可接收到confirm事件
如果设置关闭软键盘的话就无用了,最好的方法就是onLoad的时候用plus.key.addEventListener监听每一个按键,设置一个全局变量,有结束就处理结果,没有结束增加字符串
请问最后解决了嘛
回复 DCloud_Android_ST: 你好,怎么解决这个问题,pda 扫码无法调起回车键的问题
我现在都有点怀疑uniapp了,到底行不行?同一个nvue文件,使用input可以接收全部的扫描内容,但是使用easyinput就不行,扫描内容后面一小部分总是接收不到。而且,官方文档上的bug特别多,解释和描述不清楚,示例代码里的bug也多。
+1 我都重做完了,发现不能用
nvue中手动点击软键盘回车可以触发,但是扫描内容的中带一个回车的后缀就没办法触发confirm事件,相同的内容在vue页面可以正常使用
我搞了两天还是没解决,软键盘隐藏的情况下无法触发回车事件,也监听不到回车按键
曲线救国了TMD。用防抖函数 1000ms后触发。扫码枪输入速度很快。1000ms后提交。
回复 Dummer: 用什么方法加防抖函数呢
回复 代码搬运工2: 自己写一个防抖函数就可以了。
这是一个在nvue页面中input组件confirm事件触发异常的问题,主要出现在PDA设备上。根据你的描述,硬件键盘回车和扫码枪输入的回车都无法触发confirm事件。
可能的原因和解决方案:
- PDA设备硬件键盘事件可能未被正确捕获,可以尝试监听keypress/keydown事件作为替代方案:
<input @keypress="handleKeyPress" />
handleKeyPress(e) {
if(e.keyCode === 13) { // 回车键
this.confirm1();
}
}
- 对于扫码枪输入,可以尝试使用定时器检测输入变化来模拟confirm事件:
let timer;
watch: {
value(newVal) {
clearTimeout(timer);
timer = setTimeout(() => {
if(newVal.includes('\n')) { // 扫码枪通常以回车结束
this.confirm1();
}
}, 100);
}
}


