区分手动输入和扫码枪输入V1.0
程序员文章站
2022-03-04 14:09:45
...
前言
加上了V1.0的结果就是,它可能没有机会升级到2.0了
这个方法是通过连续两次的输入间隔时间判断的,所以它是有些硬性bug的
step 1 - html代码
<div class="grid-content">
<div>
<span>测试:</span>
<el-input style="width:70%" v-model="inout" placeholder="测试输入" @keyup.native="enterKeyDown(event)"></el-input>
</div>
</div>
step 2- js代码
//需要参数
inout:'',//以下为测试参数
prevEnterTime:0,
nextEnterTime:0,
enterNumber:0,
isManualEntry:true,
charLength:0,
//方法
enterKeyDown(e){
//判断字符长度,这里设为5
this.charLength = 5;
if (window.event) {
e = window.event;
}else{
return;
}
if (e.keyCode != 8) {
if (this.enterNumber === 0) {
this.enterNumber+=1;
this.prevEnterTime = new Date().getTime();
}else{
this.nextEnterTime = new Date().getTime();
let theTime = this.nextEnterTime-this.prevEnterTime;
console.log(theTime);
this.enterNumber = 0;
if (theTime < 70) {
this.isManualEntry = false;
}
}
}
//如果输到最后了,并且标记为false
if (this.inout.length >= this.charLength) {
if (this.isManualEntry === false) {
this.$message({ message: '现在是扫码枪输入', type: 'warning' });
this.inout = '';
this.enterNumber = 0;
this.isManualEntry = true;
}
this.enterNumber = 0;
}
},
总结
方法有一些问题,但是基本需求是满足的
上一篇: 到底要不要使用存储过程?
下一篇: eclipse快速生成实体类