在uniapp中使用pda进行扫码输入
最近做的项目中遇到需要进行使用pda进行扫码的操作,在网上查了一下,pda的扫码头就相当于是输入字符串后进行一个回车操作
那么,最简单的方式就是给一个输入框,然后监听回车事件
刚开始的想法是这样的
<uni-easyinput v-model="scanEquip" ref="scanEquip" @keyup.enter.native="scanCode" />
结果 无效
原因是uniapp打包后调用原生是不支持 @keyup.enter.native 这个写法的 需要用@confirm 来代替 回车键(enter)
<uni-easyinput v-model="scanEquip" ref="scanEquip" @confirm="scanCode" />
结果 又无效 ,人麻了,不知道为啥我这个pda扫完之后不会进行 回车按键
再经过资料的查询,得到最后有两个方法
1.使用 广播 进行监听输入事件,需要nativejs的广播,并且需要打开广播系统的权限(太懒了,没有去测试)
2.对一次性输入的字符长度进行判断(pda扫码后一次性输入较长的字符串)
<uni-easyinput v-model="scanEquip" ref="scanEquip" @input="shuruScanCode" />
<script>
...
data() {
return {scanEquip: '',
oldScanEquip: '',
}
},methods:{
async shuruScanEquip(e){
console.log(e)
if((e.length-this.oldScanEquip.length)>2){//pda扫描的是多个字符(3个以上),自己输入是一个一个(有可能会有2个)
this.scanEquip = e
await this.getCarrierInfo(this.scanEquip) //进行条码的匹配查询操作
}
this.oldScanEquip = e
},}
...
</script>
结果 顺利在扫码之后执行了条码匹配查询的操作
参考 https://blog.csdn.net/Passerby_K/article/details/129527814
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律