使用 QRCode
来生成二维码。可以动态地生成包含指定信息的二维码图像。
命令:npm install qrcodejs2 --save
引入:import QRCode from 'qrcodejs2'
-
生成二维码
-
创建二维码:传入要编码的信息(如网址、文本等),然后生成二维码图像数据。
-
渲染二维码:将生成的二维码图像数据渲染到页面上的
<canvas>
元素或者直接作为<img>
元素的src
属性值。 -
使用:
{/* 用于渲染二维码的容器 */} <div id="qrcode" ref={ref => this.qrcode=ref}></div> <div onClick={()=>{ this.qrcode.innerHTML = '' var res = new QRCode('qrcode', { width: 140, height: 140, text: 'https://www.baidu.com/' }) console.log(res,this.qrcode) }}>生成二维码</div>
-
下载二维码
-
将二维码转换为图像格式:如果使用
<canvas>
元素来呈现二维码,可以通过toDataURL
方法将其转换为图像数据 URL。 -
创建下载链接:使用 JavaScript 创建一个
<a>
元素,并设置它的href
属性为二维码的数据 URL,同时设置download
属性为你想要保存的文件名。 -
触发下载:通过 JavaScript 触发点击
<a>
元素的事件,从而实现下载。 -
使用:
<div onClick={()=>{ const canvas = document.querySelector('canvas'); if (canvas) { // 获取二维码的 Base64 数据 const imageData = canvas.toDataURL('image/png'); // 创建一个虚拟的下载链接并点击它来下载图片 const link = document.createElement('a'); link.href = imageData; link.download = 'qrcode.png'; document.body.appendChild(link); link.click(); document.body.removeChild(link); } }}>下载二维码</div>