vue js前端根据所需参数生成二维码并下载
- 需要一个插件
qrcodejs2
, 使用npm install qrcodejs2 --save
下载该依赖包。 - 在vue中引入(我这边是vue2)。
import QRCode from 'qrcodejs2';
- 在计算属性中使用它。
computed: {QRCode,},
- 在dom结构中设置一个容器来承载它,并设置一个id.
<div id="qrcode" style="display: none"></div> // 如果要显示这个二维码就不要设置display:none
然后可以在需要下载生成二维码的地方触发这个事件
- 生成二维码。
qrcode(val) { // 生成二维码函数document.getElementById('qrcode').innerHTML = ''; // 清空dom元素内容,防止污染canvas const qrcode = new QRCode('qrcode', {width: 200,height: 200, // 高度text: 'http://wx.qlogo.cn/mmhead/Q3auHgzCEVqspSUMou272WfP9OAJ1dNl0zr6uQ/0xxx', // 二维码内容 这个自己跟换地址 内容// render: 'canvas' , // 设置渲染方式(有两种方式 table和canvas,默认是canvas)background: '#f0f', // 背景色foreground: '#ff0', // 前景色});console.log(qrcode, 'qrcode');this.saveImg(); // 下载函数return qrcode;// console.log(qrcode, '444444');},
- 生成二维码后就调用下载(如果你们只需要生成二维码就不需要这步)
saveImg() {// 找到canvas标签const cvs = document.getElementById('qrcode').getElementsByTagName('canvas');console.log(cvs, '[[');// 创建一个a标签节点const a = document.createElement('a');// 设置a标签的href属性(将canvas变成png图片)a.href = cvs[0].toDataURL('image/png').replace('image/png', 'image/octet-stream');// 设置下载文件的名字a.download = 'qrcode.png';// 点击a.click();},
到此就完成了前端根据参数生成二维码,并下载。
项目需求 使用element 表格 来动态生成二维码,要求鼠标移入时显示二维码。
注意这里code 函数是放在 methods
里面的,不要试图使用计算属性来触发,有可能会重复渲染二维码。
截出部分项目中代码
<template v-if="item.prop === 'linkCodeUrl'" #default="{ $index }"><p class="p" @click="copy(data[$index])">复制链接</p><el-popover popper-class="cloud-qrcode" placement="right" width="200" trigger="hover"><div :id="`qrcode${$index}`"></div><spanslot="reference"class="p"@click="downloadCode(data[$index], $index)"@mouseover="code(data[$index].id, $index)">下载二维码</span></el-popover></template>
js部分
code(val, index) {console.log(index, 'pindex');this.$nextTick(() => {document.getElementById(`qrcode${index}`).innerHTML = '';const url = xxxxxx?id=${val}`;const qrcode = new QRCode(`qrcode${index}`, {width: 200,height: 200,text: url,background: '#f0f',foreground: '#ff0',});return qrcode;});},
效果图:
vue js前端根据所需参数生成二维码并下载相关推荐
- vue 2.x项目 vue-qriously 生成二维码并下载、cliploard复制粘贴
近日,重构项目某一老模块时,有一个功能是生成二维码并下载,还可以复制链接.列表每项都有二维码.下载二维码和复制链接和列表上方总的二维码. 老模块是用的qrocode中文文档,qrcode github ...
- vue生成二维码并下载
vue生成二维码图片,这里使用的是qrcode.js 这个插件 1.下载插件 npm install --save qrcodejs2 2.组件内使用 <template> <B ...
- jquery二维码生成插件jquery.qrcode.js,生成二维码并下载
下载插件: 在GitHub上,下载qrcode二维码插件: https://github.com/jeromeetienne/jquery-qrcode Vue项目可直接通过node.js安装:npm ...
- 在前端页面生成二维码并下载(兼容IE)
做项目的过程中遇到一个需求:把每个果树都生成一个对应的二维码,然后点击下载. 大致的思路是:用canvas画出二维码,然后把二维码转换成base64图片,然后点击下载--(这个过程中IE的兼容有点儿折 ...
- js 生成二维码并下载
1.先利用 qrcode 生成二维码 引入qrcode.js ,地址为 qrcodejs-04f46c6.zip 点击打开链接 页面: <button onclick="createQ ...
- vue+qrcodejs2 动态生成二维码并下载
安装依赖 npm install --save qrcodejs2 vue页面引用 <script>import QRCode from 'qrcodejs2'import axios f ...
- vue 生成二维码并下载
vue 项目中需要实现生成二维码,并且下载下来. 引入 qrcode : import QRCode from "qrcodejs2" 生成二维码: createQRCode () ...
- Vue使用QrcodeVue生成二维码并下载
生成二维码 1.安装qrcode.vue组件 npm install --save qrcode.vue 2.实现 <template><div id="app" ...
- 用qrcode.js写的生成二维码和下载这个二维码
实在是不想用网上的生成二维码,就自己写了个简单的生成和下载的功能 先看一下效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...
最新文章
- 2021 年中国敏捷行业现状调查全面启动
- Authorization object where used list in tcode SUIM
- 关于更换液晶屏(LCD)后“输入不支援”的一种解决方案
- 7-5 列车厢调度 (25 分)
- JS 前端排序 数组指定项移动到最后
- python定时发送微信消息_Python3 itchat实现微信定时发送群消息的实例代码
- java gc 可达性_JAVA--GC 垃圾回收机制----可达性分析算法
- 【电力电子】功率因素\无功功率
- 时间序列入门概念整理
- 电子计算机X线体层摄影,电子计算机X线体层摄影检查诊断乳腺肿块的价值
- Java垃圾回收器详解
- 蒙特卡罗(洛)模拟——手把手教你数学建模
- 1118 Birds in Forest (25分)
- [NOIP模拟33]反思+题解
- Entertain Box multiset的应用
- 集成科大讯飞语音合成
- 压力测试work——6.9
- 新年签通用php,《转帖》个人制作 猎人TMW字符串 三系整合通用 新年快乐帖
- 单例模式(懒汉式和饿汉式)及如何实现线程安全
- 天龙八部怎么找不到服务器,win7系统天龙八部无法打开服务器列表的解决方法...