当前位置:首页 > 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()
    })
  }
}

响应式二维码尺寸

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

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

vue实现生成二维码

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

相关文章

vue 实现流程

vue 实现流程

Vue 实现流程 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是 Vue 实现的基本流程: 安装 Vue.js 通过 CDN 引入或使用 npm/yarn 安装:…

vue实现curd

vue实现curd

Vue实现CRUD操作 初始化Vue项目 使用Vue CLI创建新项目,安装必要依赖如axios用于HTTP请求 vue create crud-demo cd crud-demo npm ins…

vue实现评分

vue实现评分

Vue 实现评分功能 使用组件库实现 安装 element-ui 或 ant-design-vue 这类 UI 库,它们已经内置了评分组件。 以 element-ui 为例: <temp…

vue拼图实现

vue拼图实现

实现 Vue 拼图游戏的方法 使用 Vue 组件和动态数据绑定 创建一个 Vue 组件来管理拼图的状态和逻辑。通过 v-for 动态渲染拼图块,利用 v-bind 绑定样式和位置。拼图块的数据可以存储…

vue实现表单

vue实现表单

Vue 表单实现方法 双向数据绑定 使用 v-model 指令实现表单元素与数据的双向绑定。适用于 input、textarea、select 等元素。 <template> &l…

vue实现增删

vue实现增删

Vue 实现增删功能 在 Vue 中实现增删功能通常涉及数据绑定、事件处理和列表渲染。以下是基于 Vue 2 或 Vue 3 的实现方法: 数据定义 初始化一个数组用于存储列表数据,并在 Vue 实…