区分扫描枪输入和键盘输入的实现

首先,在input上绑定keyup事件,注意添加native

如图:

在这里插入图片描述
<el-input class=“clo_input mgtop_20” v-model=“WashingCode” @keyup.native=“inputNum” @change=“inputchange”>

methods中inputNum方法如下:
在这里插入图片描述
新增一个新数组,每次得到的target.timeStamp,是指 当前按键发生时间,而计算前后按键发生时间间隔,超过30一般是指按键,而小于30则证明是扫码枪输入值

if(Math.ceil(this.arr[this.arr.length-1]) - Math.ceil(this.arr[this.arr.length-2])<30)
之所以这样判断,是为了准备起见,不用清空arr数组,拿arr下标最后一个和倒数第二个做对比,这样等同于每次进来新数据都与旧数据进行了一次比较

注意:target.timeStamp不能直接添加(push)进arr数组中,会使数组为空,不能直接用;

写的有问题的话,还请多指教,一起学习。

Logo

前往低代码交流专区

更多推荐