其他分享
首页 > 其他分享> > 使用扫描枪扫描条码时字符识别写入缓慢问题(针对element-ui的el-input)优化

使用扫描枪扫描条码时字符识别写入缓慢问题(针对element-ui的el-input)优化

作者:互联网

问题描述

问题解决方案的摸索

1.使用 函数防抖 指令(对change事件数据频繁更新做优化) [×]
2.去掉el-input的v-model.trim(以为.trim操作符去掉前后空格的性能问题,tips:建议去掉,因为扫描枪扫描出现空格时偶尔会出现写入字符缺失问题) [×]
3.直接在el-input的v-model上加上 .lazy 操作符(让v-model双向数据绑定更新频率降低 ) [×]
4.原有的通过 keydown 绑定的事件改为 keyup (扫描器输入字符keydown事件执行性能问题,采用keyup事件减少事件的执行) [×]
5.使用原生input输入框,配合v-model.lazy,还有使用keyup事件 [✔]

问题解析

看过element-ui的el-input源码内部得知,v-model数据更新时用watch来做的,在电脑配置较好以及一次写入字符数量不大的情况下(可以用扫描枪扫描条码二维码写入模拟)性能感觉差距不大,而且.lazy操作符不生效;所以最终采用了原生input来处理,而且使用keyup事件也是因为keydown事件在扫描枪扫描写入情况下触发较多。

代码分享

<input type="text" placeholder="包裹条码" v-model.lazy="barCode" @keyup.native.enter="search"  />
涳涳嘚慌 发布了2 篇原创文章 · 获赞 0 · 访问量 19 私信 关注

标签:el,字符识别,扫描枪,扫描,keyup,写入,input,model
来源: https://blog.csdn.net/oschina_41767564/article/details/104105804