vue项目生成二维码(并避免重复生成)

一、需求,按连接(带参数)生成二维码

二、步骤

1、先安装插件

javascript 复制代码
	npm install qrcodejs2 --save-dev

2、在需要用到二维码的页面引入

javascript 复制代码
import QRCode from 'qrcodejs2';

3、主要代码

javascript 复制代码
<div id="qrCode2" ref="qrCodeDiv" class="ma"></div>
javascript 复制代码
       openMa() {
				// 每次生成前清空二维码,即移除已生成的图像和canvas,避免重复
				const cleardom = document.querySelectorAll('#qrCode2 canvas,#qrCode2 img')
				Array.from(cleardom).forEach((item) => {
					item.remove()
				})
				//下面是生成二维码的链接
				var urls = 'url?type=1' + '&id=' + this.myclaim.id;
				console.log('url+++', urls);
				//如果下面的settimeout不行,就用下面这一段
				// this.$nextTick(function() {
				// 	new QRCode('qrCode2', {
				// 		text: urls,
				// 		width: 128,
				// 		height: 128,
				// 		colorDark: "#333333", //二维码颜色
				// 		colorLight: "#ffffff", //二维码背景色
				// 		correctLevel: QRCode.CorrectLevel.L //容错率,L/M/H
				// 	})
				// })
				setTimeout(() => {
					let qrcode = new QRCode("qrCode2", {
						width: 180, // 二维码宽度,单位像素
						height: 180, // 二维码高度,单位像素
						colorDark: "#000000",
						colorLight: "#ffffff",
						correctLevel: 3,// 重点是这个值解
						text: urls // 生成二维码的链接
					});
				}, 200)


			},
相关推荐
工业甲酰苯胺3 小时前
TypeScript枚举类型应用:前后端状态码映射的最简方案
javascript·typescript·状态模式
brzhang3 小时前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
止观止4 小时前
React虚拟DOM的进化之路
前端·react.js·前端框架·reactjs·react
goms4 小时前
前端项目集成lint-staged
前端·vue·lint-staged
谢尔登4 小时前
【React Natve】NetworkError 和 TouchableOpacity 组件
前端·react.js·前端框架
Lin Hsüeh-ch'in4 小时前
如何彻底禁用 Chrome 自动更新
前端·chrome
augenstern4166 小时前
HTML面试题
前端·html
张可6 小时前
一个KMP/CMP项目的组织结构和集成方式
android·前端·kotlin
G等你下课6 小时前
React 路由懒加载入门:提升首屏性能的第一步
前端·react.js·前端框架
谢尔登7 小时前
【React Native】ScrollView 和 FlatList 组件
javascript·react native·react.js