vue-qr 下载保存二维码

本文介绍了如何在Vue应用中,利用Qrcode组件生成的Base64编码QR码,创建一个可下载的链接,通过`createElement`和`dispatchEvent`事件处理实现文件下载功能。

// const Qrcode = this.$refs?.Qrcode

// const exportLink = Qrcode.$el.currentSrc // base64码

const iconUrl = this.$refs['Qrcode'].$el.src

const a = document.createElement('a')

const event = new MouseEvent('click')

a.download = 'MyInviteCode'

a.href = iconUrl

a.dispatchEvent(event)

Vue 中实现点击生成二维码的功能,可以使用 `vue-qr` 这个库,它是基于 `qrcode` 的封装,专为 Vue 设计,使用简单,支持 Vue 2 和 Vue 3。 --- ### ✅ 功能需求: - 点击按钮后,根据输入内容生成二维码 - 二维码显示在页面上 --- ### 📦 安装依赖 首先安装 `vue-qr`: ```bash npm install vue-qr ``` --- ### 💻 Vue 组件代码实现(以 Vue 3 为例) ```vue <template> <div> <h2>Vue 3 生成二维码示例</h2> <input v-model="inputText" placeholder="请输入要生成二维码的内容" /> <button @click="generateQRCode">生成二维码</button> <div v-if="showQRCode" style="margin-top: 20px;"> <vue-qr :text="inputText" :size="200"></vue-qr> </div> </div> </template> <script setup> import { ref } from 'vue'; import VueQr from 'vue-qr'; const inputText = ref(''); const showQRCode = ref(false); const generateQRCode = () => { if (inputText.value.trim()) { showQRCode.value = true; } else { alert('请输入内容以生成二维码'); } }; </script> <style scoped> input { padding: 8px; margin-right: 10px; } button { padding: 8px 12px; } </style> ``` --- ### 🔍 代码解释: - `v-model="inputText"`:双向绑定输入框内容到 `inputText`。 - `@click="generateQRCode"`:点击按钮触发生成二维码函数。 - `v-if="showQRCode"`:控制二维码是否显示。 - `<vue-qr :text="inputText" :size="200">`:使用 `vue-qr` 组件生成二维码,`text` 是二维码内容,`size` 是二维码尺寸。 --- ### ✅ 其他说明: - `vue-qr` 支持的属性还有很多,比如: - `colorDark`:二维码颜色(默认黑色) - `colorLight`:背景颜色(默认白色) - `logoSrc`:嵌入的 logo 图片地址 - `logoScale`:logo 图片大小比例 你可以这样使用: ```vue <vue-qr :text="inputText" :size="200" colorDark="#ff0000" colorLight="#ffffff" :logoSrc="logoUrl" :logoScale="0.2" /> ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值