1:安装qrcode
npm i qrcode
2:引入qrcode
import QRCode from 'qrcode'
3:页面
<el-table-column label="二维码">
<template slot-scope="scope">
<div style="width: 50px;">
<img :src="scope.row.qrCode" style="width: 50px;" />
<el-button type="text" size="small" @click="editProductCode('下载',scope.row)" style="text-align: center;width: 50px">下载</el-button>
</div>
</template>
</el-table-column>
4:方法
// 封装方法生产二维码
async getCode (data) {
console.log(data, ';;;')
try {
const dataSting = data.toString()
const qrCodeData = await QRCode.toDataURL(dataSting)
return qrCodeData
} catch (e) {
console.error(e)
return null
}
},
// 获取后端的数据
async getData(){
// 例如list是后端的数据
for (const i of list) {
i.qrCode = await this.getCode(i.equipment_code)
}
}
// 下载二维码
downloadCode(val,type){
QRCode.toDataURL(val.equipment_code)
.then((url) => {
// 创建一个下载链接
const link = document.createElement('a')
link.href = url
link.download = `${type}-${val.name}.png` // 下载文件名,可以根据需要进行修改
// 模拟点击下载链接
link.click()
})
.catch((error) => {
console.error(error)
})
}