vue中生成条形码(jsbarcode)和二维码(qrcodejs2)的简单示例
作者:小余又菜又爱玩前端
在vue项目中难免遇到有要生成条形码或者二维码的功能需求,下面这篇文章主要给大家介绍了关于vue中生成条形码(jsbarcode)和二维码(qrcodejs2)的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
1.条形码插件jsbarcode
安装:npm install jsbarcode --save
引入:在需要生成条形码的页面引入即可
import JsBarcode from 'jsbarcode'
需要显示条形码的页面里
<img id="barcode1">
调用构造函数生成条形码
let barCode1 = this.info.marIdCode; let barheight = this.imgHeight; JsBarcode("#barcode1",barCode1,{ format:"CODE128",//条形码的格式 width:1,//线宽 height:barheight,//条码高度 lineColor:"#000",//线条颜色 displayValue:false,//是否显示文字 margin:2//设置条形码周围的空白区域 })
2.二维码插件
安装:npm install qrcodejs2 --save
引入:同理,在需要生成二维码的页面中引入即可
import QRCode from 'qrcodejs2'
需要显示二维码的页面中
<div id="SetQRCode"></div>
根据自身需求逻辑使用
let qrCode = "#"+this.info.marId+"#"+this.info.supManufacturingBatch+"#"+this.info.exp+"#"+this.info.minflowId+"#"+this.info.num; this.QRCode = qrCode; let qrcodeDiv = document.getElementById("SetQRCode") let qrcode = new QRCode(qrcodeDiv,{ text:this.QRCode,//二维码中的内容 width:this.QRWidth, height:this.QRHeight, colorDark:"#000",//二维码颜色 correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H }) this.qrcode = qrcode;
好啦,如果只需要将二维码展示出来,不需要点击按钮才生成二维码或不需要打印的小伙伴看到这里就行啦~
打印!!!
在写二维码打印的时候我真的栓q住了,呜呜呜~ 因为进入打印页面后,点击取消,再次点击打印我惊讶地发现给我生成了两个二维码,然后……嗯,没错,重复上述操作会一直新生成二维码。
因此需要删除之前生成的二维码。代码如下:
let qrCode = "#"+this.info.marId+"#"+this.info.supManufacturingBatch+"#"+this.info.exp+"#"+this.info.minflowId+"#"+this.info.num; this.QRCode = qrCode; let qrcodeDiv = document.getElementById("SetQRCode") let qrcode = new QRCode(qrcodeDiv,{ text:this.QRCode, width:this.QRWidth, height:this.QRHeight, colorDark:"#000", correctLevel: QRCode.CorrectLevel.L } this.qrcode = qrcode; // ………………………………………………………………(解决重复点击打印按钮会重复一直生成二维码) let childs = document.getElementById("SetQRCode").childNodes; for(let i = childs.length -2 ; i>=0 ; i--){ document.getElementById("SetQRCode").removeChild(childs[i]); }
总结
到此这篇关于vue中生成条形码(jsbarcode)和二维码(qrcodejs2)的文章就介绍到这了,更多相关vue生成条形码和二维码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!