vue二维码生成与下载

佐手、 提交于 2020-01-14 15:09:09

踩坑总结-vue

二维码下载

先安装qriously

npm install vue-qriously 

直接上代码啦啦啦

 <div class="box">
     <qriously id='mycanvas' :value="this.value" :size="this.size" />
     <el-button size="mini" type="primary" @click="handleDownloadQr2">
         下载
     </el-button>
</div>
data(){
	 value:'www.baidu.com',
     size:200,
}
 handleDownloadQr2(){
                let canvas = document.querySelector('#mycanvas canvas');
                 let imgSrc = canvas.toDataURL();
                let elem = document.createElement('a');
                elem.setAttribute('href', imgSrc);
                elem.setAttribute('download', '二维码.png');
                document.body.appendChild(elem);
                elem.click();
                document.body.removeChild(elem);
            },

重点: let canvas = document.querySelector(’#mycanvas canvas’);不能用let canvas = document.getElementById(“mycanvas”);代替,不然会报错
在这里插入图片描述
主要原因是document.getElementById(“mycanvas”)获得的元素不单单是canvas元素,还包括canvas外的div模块

打印document.getElementById(“mycanvas”)的结果
在这里插入图片描述

打印document.querySelector(’#mycanvas canvas’);结果
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!