vue3+ts 使用插件vue-qr生产二维码图片并下载

1. 下载:

npm install vue-qr --save
或
yarn add vue-qr --save
或
pnpm add vue-qr --save

2.引用: 

vue3中引用:import vueQr from 'vue-qr/src/packages/vue-qr.vue';

vue2中引用:import VueQr from 'vue-qr'

3. vue-qr npm库地址:

vue-qr - npm

查询各属性介绍

 4. 使用HTML代码示例

<template>
<!-- 需要展示二维码就不用隐藏 -->
    <vue-qr
      ref="qrcode"
      :text="qrCodeValue"
      logo-src=""
      :size="500"
      style="display: none"
    ></vue-qr>
  <a-button type="link" @click="download">下载</a-button>
</template>

5.ts代码示例:

<script lang="ts" setup>
import vueQr from 'vue-qr/src/packages/vue-qr.vue';
const qrcode = ref<typeof vueQr>(); // 实例
const qrCodeValue = ref(''); //二维码内容
// 下载
const download = () =>{
   // TODO 接口返回数据  
      let res = "112233"
   // 数据返回生产二维码
     qrCodeValue.value = res ;

     // 生成二维码是属于异步行为,所以下载二维码也为异步行为

      const timer = setTimeout(() => {

       // 可打印获取二维码插件里的数据
        console.log('data', qrcode.value);
        console.log('下载签到码', qrcode.value.imgUrl);

        // 下载
        // 注,当在vue3+ts项目中,识别不了document是,前面加上window

        const eleLink = window.document.createElement('a');
        eleLink.style.display = 'none';
        eleLink.download = '二维码';
        eleLink.href = qrcode.value.imgUrl;
        eleLink.click();
        eleLink.remove();
        clearTimeout(timer);
      });
}
</script>

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值