当前位置: 首页 > news >正文

使用vue2做一个生成二维码的案例【可当组件使用】

最近有个需求需要用前端来生成一个二维码,就封装了一个简单的组件,这篇文章来分享给大家。
使用的技术:
Vue2
Ant Design Vue
QRCodeJS2
node版本:16.20

组件样式:
在这里插入图片描述
在这里插入图片描述
大家可以根据自己的需求来调整代码。

在这里插入图片描述
依赖安装:

npm i

项目启动:

npm run serve

调用页面代码:

<template><div id="app"><div class="container"><a-card title="二维码生成示例" style="width: 500px"><a-inputv-model="qrContent"placeholder="请输入二维码内容"style="margin-bottom: 10px"/><a-inputv-model="qrText"placeholder="请输入二维码说明文字"style="margin-bottom: 10px"/><a-inputv-model="backgroundColor"placeholder="请输入二维码背景色(如:#ffffff)"style="margin-bottom: 10px"/><a-button type="primary" @click="generateQR">生成二维码</a-button><a-divider /><QRCodev-if="showQR"ref="qrCode":value="qrContent":text="qrText":qrSize="300":padding="5":fontSize="18":backgroundColor="backgroundColor"textAlign="left"></QRCode><a-button v-if="showQR" type="primary" @click="downloadQR" style="margin-top: 10px">下载二维码</a-button></a-card></div></div>
</template><script>
import QRCode from './components/QRCode.vue'export default {name: 'App',components: {QRCode},data() {return {qrContent: '',qrText: '',backgroundColor: '#ffffff',showQR: false}},methods: {generateQR() {if (!this.qrContent) {this.$message.error('请输入二维码内容')return}this.showQR = true},downloadQR() {const qrData = this.$refs.qrCode.getQRCodeData()const link = document.createElement('a')link.download = 'qrcode.png'link.href = qrDatalink.click()}}
}
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;color: #2c3e50;
}
.container {display: flex;justify-content: center;align-items: center;min-height: 100vh;background-color: #f0f2f5;
}
</style>

组件核心代码:
在这里插入图片描述

这个使用vue2 生成二维码的案例 代码 已经整理好了,有需要的小伙伴,可以自行获取使用:

https://wwwoop.com/home/Index/projectInfo?goodsId=85&typeParam=2&subKey=1

http://www.xdnf.cn/news/568999.html

相关文章:

  • JC/T 2848-2024 玻璃纤维增强石膏(GRG)装饰制品检测
  • VS2022:使用命令行启动项目
  • 2023 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 解题报告 | 珂学家
  • vscode连接WSL卡住
  • js不同浏览器标签页、窗口或 iframe 之间可以相互通信
  • 虚拟机下的OpenWrt磁盘Overlay扩容
  • genicamtl_lmi_gocator_objectmodel3d
  • 掌握HTTPX:从基础到高并发工程实践
  • 自由开发者计划 001:创建一个用于查看 Jupyter Notebook 的谷歌浏览器插件
  • FPGA降低功耗研究
  • 【76. 最小覆盖子串】
  • 操作系统 第四章 -2
  • Docker安装MinIO对象存储中间件
  • 图片识别(TransFormerCNNMLP)
  • 分享一些多模态文档解析思路
  • 蓝桥杯3503 更小的数
  • polarctf-web-[某函数的复仇]
  • 基于python的机器学习(七)—— 数据特征选择
  • PostgreSQL中通过查询数据插入到表的几种方法( SELECT INTO和INSERT INTO ... SELECT)
  • uniapp+vue3 随机、换一批
  • anaconda创建环境出错HTTPS
  • Captiks动捕与步态分析步态分析系统MOVIT:16μs 无线同步 + 快速校准,破解传统光电困局
  • 集成 OpenTelemetry + Grafana:实现 ABP VNext 的全链路可观测性
  • API面临哪些风险,如何做好API安全?
  • vue+threeJs 创建千色三角形宇宙
  • spring-retry
  • Pandoc3.7新特性:存在合并单元格的 HTML 表格会被保留为嵌入的 HTML 表格
  • WordPress Elementor零基础教程
  • 【Redis8】最新安装版与手动运行版
  • 电商项目-商品微服务-规格参数管理,分类与品牌管理需求分析