在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

posted @   妞妞猪  阅读(1268)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示