当前位置:首页 > 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组件中使用:

<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组件中使用:

<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()
    })
  }
}

响应式二维码尺寸

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

vue实现生成二维码

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

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

相关文章

vue树形实现

vue树形实现

Vue 树形组件实现方法 使用递归组件实现树形结构 递归组件是 Vue 中实现树形结构的常见方法。通过组件调用自身的方式,可以轻松构建多层嵌套的树形结构。 <template> &l…

vue评分实现

vue评分实现

Vue 评分组件实现方法 使用第三方库(如 Element UI) 安装 Element UI: npm install element-ui 引入并注册组件: import Vue from '…

vue实现排序

vue实现排序

Vue 实现排序的方法 在 Vue 中实现排序可以通过多种方式完成,以下是一些常见的方法: 使用计算属性排序数组 计算属性非常适合对数据进行排序,因为它会在依赖的数据变化时自动更新。以下是一个示例:…

vue实现图册

vue实现图册

Vue实现图册功能 在Vue中实现图册功能通常涉及图片展示、切换、缩放等交互效果。以下是常见的实现方法和关键代码示例: 基础图册组件结构 使用Vue单文件组件构建基础结构: <templat…

vue实现翻译

vue实现翻译

Vue 实现翻译功能的方法 使用 i18n 插件实现多语言切换 安装 vue-i18n 插件: npm install vue-i18n 创建语言资源文件(如 en.json 和 zh.json):…

vue实现订单

vue实现订单

Vue 实现订单功能 订单数据结构设计 订单数据通常包含以下字段: order: { id: String, // 订单ID userId: String,…