当前位置:首页 > VUE

vue实现生成二维码

2026-01-12 08:38:11VUE

使用 vue-qrcode 库生成二维码

安装 vue-qrcode 库

npm install @chenfengyuan/vue-qrcode

在 Vue 组件中引入并使用

<template>
  <div>
    <vue-qrcode :value="qrText" :size="200"></vue-qrcode>
  </div>
</template>

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

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

使用 qrcode.js 库生成二维码

安装 qrcode.js 库

vue实现生成二维码

npm install qrcode

在 Vue 组件中使用

<template>
  <div>
    <canvas ref="qrCanvas"></canvas>
  </div>
</template>

<script>
import QRCode from 'qrcode';

export default {
  mounted() {
    this.generateQR();
  },
  methods: {
    generateQR() {
      QRCode.toCanvas(this.$refs.qrCanvas, 'https://example.com', {
        width: 200
      }, (error) => {
        if (error) console.error(error);
      });
    }
  }
}
</script>

自定义二维码样式

通过 CSS 自定义二维码外观

vue实现生成二维码

<template>
  <div class="qr-container">
    <vue-qrcode :value="qrText" :size="200" class="qr-code"></vue-qrcode>
  </div>
</template>

<style>
.qr-container {
  padding: 20px;
  background: #f5f5f5;
  border-radius: 8px;
  display: inline-block;
}

.qr-code {
  border: 1px solid #ddd;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
</style>

动态生成二维码内容

实现输入内容实时生成二维码

<template>
  <div>
    <input v-model="qrText" placeholder="输入二维码内容">
    <vue-qrcode :value="qrText" :size="200"></vue-qrcode>
  </div>
</template>

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

export default {
  components: {
    VueQrcode
  },
  data() {
    return {
      qrText: ''
    }
  }
}
</script>

下载生成的二维码

添加下载功能

<template>
  <div>
    <vue-qrcode :value="qrText" :size="200" ref="qrCode"></vue-qrcode>
    <button @click="downloadQR">下载二维码</button>
  </div>
</template>

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

export default {
  components: {
    VueQrcode
  },
  methods: {
    downloadQR() {
      const link = document.createElement('a');
      link.href = this.$refs.qrCode.$el.toDataURL('image/png');
      link.download = 'qrcode.png';
      link.click();
    }
  },
  data() {
    return {
      qrText: 'https://example.com'
    }
  }
}
</script>

二维码容错级别设置

设置不同容错级别

<template>
  <div>
    <vue-qrcode 
      :value="qrText" 
      :size="200"
      :error-correction-level="errorLevel">
    </vue-qrcode>
    <select v-model="errorLevel">
      <option value="L">L (低)</option>
      <option value="M">M (中)</option>
      <option value="Q">Q (高)</option>
      <option value="H">H (最高)</option>
    </select>
  </div>
</template>

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

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

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

相关文章

vue实现按钮刷新

vue实现按钮刷新

Vue 实现按钮刷新功能 在 Vue 中实现按钮刷新功能可以通过多种方式实现,具体取决于刷新需求是局部刷新还是全局刷新。以下是几种常见的方法: 使用 window.location.reload(…

vue实现视窗

vue实现视窗

Vue 实现视窗功能 在 Vue 中实现视窗功能通常涉及监听浏览器窗口大小变化、响应式布局或创建自定义弹窗组件。以下是几种常见实现方式: 监听浏览器窗口大小变化 使用 Vue 的 mounted…

vue 实现pc

vue 实现pc

Vue 实现 PC 端应用的核心要点 Vue.js 是一个渐进式框架,适合构建 PC 端单页应用(SPA)或复杂的前端界面。以下是实现 PC 端应用的关键方法和注意事项: 项目初始化与工程化配置…

vue实现遮罩

vue实现遮罩

Vue 实现遮罩层的方法 在 Vue 中实现遮罩层可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-show 或 v-if 控制显示 通过 Vue 的指令动态控制遮罩层的显示与隐藏。…

vue实现公告

vue实现公告

Vue 实现公告功能的方法 公告功能通常需要实现滚动展示、自动切换或固定显示的效果。以下是几种常见的实现方式: 使用 marquee 标签实现滚动公告 <template> <…

vue实现剪辑

vue实现剪辑

Vue 实现视频剪辑功能 在Vue中实现视频剪辑功能通常需要结合HTML5的<video>元素和第三方库(如FFmpeg.js或Video.js)。以下是几种常见的实现方法: 使用FF…