浅谈在react中如何实现扫码枪输入-创新互联

触发原理

成都创新互联公司专注于网站建设|成都网站改版|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都集装箱等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。

原理就是监听键盘输入,比如扫一个为6970596130126的69条形码,用扫码枪扫一下会在光标位置依次输出:

6
9
7
0
5
9
6
1
3
0
2
6


但这不是完整的,所以需要写一个函数scanEvent来整理收集到的每个编号。

let code = '';
let lastTime,
  nextTime,
  lastCode,
  nextCode;


function scanEvent(e, cb) {
  nextCode = e.which;
  nextTime = new Date().getTime();

  if (lastCode != null && lastTime != null && nextTime - lastTime <= 30) {
    code += String.fromCharCode(lastCode);
  } else if (lastCode != null && lastTime != null && nextTime - lastTime > 100) {
    code = '';
  }

  lastCode = nextCode;
  lastTime = nextTime;
  if (e.which === 13) {
    cb(code);
    console.log('code', code);
    code = '';
  }
}

export { scanEvent };


新闻名称:浅谈在react中如何实现扫码枪输入-创新互联
网址分享:http://bzwzjz.com/article/eephp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 教育网站设计方案 成都网站设计 成都网站建设 四川成都网站设计 自适应网站建设 成都商城网站建设 网站建设公司 成都网站建设公司 高端网站建设 成都网站设计公司 成都网站建设 响应式网站设计 高端定制网站设计 企业网站设计 成都品牌网站设计 网站建设 定制网站设计 企业网站建设 重庆网站建设 四川成都网站制作 网站建设公司