当前位置:首页 > VUE

vue实现生成二维码

2026-01-07 06:49:58VUE

使用qrcode.vue库生成二维码

安装qrcode.vue库:

npm install qrcode.vue --save

在Vue组件中使用:

<template>
  <qrcode-vue :value="qrValue" :size="size" level="H" />
</template>

<script>
import QrcodeVue from 'qrcode.vue'

export default {
  components: { QrcodeVue },
  data() {
    return {
      qrValue: 'https://example.com',
      size: 200
    }
  }
}
</script>

使用vue-qrcode库生成二维码

安装vue-qrcode库:

npm install @chenfengyuan/vue-qrcode --save

在Vue组件中使用:

vue实现生成二维码

<template>
  <vue-qrcode :value="qrValue" :options="{ width: 200 }" />
</template>

<script>
import VueQrcode from '@chenfengyuan/vue-qrcode'

export default {
  components: { VueQrcode },
  data() {
    return {
      qrValue: 'https://example.com'
    }
  }
}
</script>

使用原生QRCode.js生成二维码

安装QRCode.js:

npm install qrcode --save

在Vue组件中使用:

vue实现生成二维码

<template>
  <div ref="qrCode"></div>
</template>

<script>
import QRCode from 'qrcode'

export default {
  data() {
    return {
      qrValue: 'https://example.com'
    }
  },
  mounted() {
    QRCode.toCanvas(this.$refs.qrCode, this.qrValue, {
      width: 200
    }, (error) => {
      if (error) console.error(error)
    })
  }
}
</script>

自定义二维码样式

通过QRCode.js可以自定义二维码样式:

QRCode.toCanvas(this.$refs.qrCode, {
  text: this.qrValue,
  colorDark: '#000000',
  colorLight: '#ffffff',
  correctLevel: QRCode.CorrectLevel.H
}, (error) => {
  if (error) console.error(error)
})

生成可下载的二维码

生成可下载的二维码图片:

methods: {
  downloadQR() {
    QRCode.toDataURL(this.qrValue, {
      width: 400,
      margin: 2
    }, (err, url) => {
      if (err) return console.error(err)
      const link = document.createElement('a')
      link.href = url
      link.download = 'qrcode.png'
      link.click()
    })
  }
}

响应式二维码尺寸

根据屏幕宽度自动调整二维码大小:

computed: {
  qrSize() {
    return Math.min(window.innerWidth * 0.8, 400)
  }
},
watch: {
  qrSize(newSize) {
    this.generateQRCode(newSize)
  }
}

标签: 二维码vue
分享给朋友:

相关文章

vue实现增删改

vue实现增删改

Vue 实现增删改查功能 Vue.js 是一个流行的前端框架,用于构建用户界面。以下是使用 Vue.js 实现增删改查(CRUD)功能的方法。 数据初始化 在 Vue 实例的 data 中初始化一…

vue实现单词反转

vue实现单词反转

实现思路 在Vue中实现单词反转功能,可以通过多种方式完成。核心思路是利用JavaScript的字符串处理方法,将输入的单词或句子拆分为数组,反转数组后再拼接成字符串。 方法一:使用计算属性 通过…

vue实现选区创建

vue实现选区创建

Vue 实现选区创建的方法 在 Vue 中实现选区创建通常涉及 DOM 操作和事件处理。以下是几种常见的方法: 使用原生 DOM API 通过 window.getSelection() 和 Ran…

vue实现文档导入

vue实现文档导入

Vue 实现文档导入的方法 在 Vue 中实现文档导入功能通常涉及文件上传、解析和处理。以下是几种常见的方法: 使用原生文件输入和 FileReader 通过 HTML 的原生 <input…

vue实现多级弹窗

vue实现多级弹窗

Vue 多级弹窗实现方法 方法一:使用动态组件与递归组件 在 Vue 中可以通过动态组件配合递归组件实现多级弹窗。定义一个基础弹窗组件,通过递归调用自身实现层级嵌套。 基础弹窗组件模板示例: &…

vue实现图片分析

vue实现图片分析

Vue 实现图片分析的方法 在 Vue 中实现图片分析通常涉及图片上传、预览、后端交互以及分析结果展示等功能。以下是几种常见的实现方式: 使用 HTML5 File API 和 Canvas 进行…