当前位置:首页 > 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 grid实现

vue grid实现

Vue Grid 实现方法 在 Vue 中实现网格布局可以通过多种方式完成,包括使用原生 CSS Grid、第三方组件库或自定义组件。以下是几种常见方法: 使用原生 CSS Grid 通过 Vue…

vue 实现回复

vue 实现回复

Vue 实现回复功能 在 Vue 中实现回复功能通常涉及表单提交、数据绑定和列表渲染。以下是实现步骤和代码示例: 数据绑定与表单 <template> <div>…

vue实现发帖

vue实现发帖

使用 Vue 实现发帖功能 前端实现 创建发帖表单组件,包含标题和内容输入框,以及提交按钮。使用 v-model 绑定表单数据。 <template> <div>…

vue实现展开

vue实现展开

展开功能的实现方法 在Vue中实现展开功能可以通过多种方式完成,常见的有使用v-show、v-if指令,结合CSS过渡动画或第三方组件库。 使用v-show控制显示隐藏 通过v-show指令可以简单…

vue实现微云

vue实现微云

Vue 实现微云功能 使用 Vue 实现类似微云的网盘功能需要结合前端框架、后端存储及文件处理技术。以下是关键实现步骤和代码示例: 前端框架搭建 使用 Vue CLI 创建项目基础结构,安装必要依赖…

vue sku 实现

vue sku 实现

Vue SKU 实现方案 在电商系统中,SKU(Stock Keeping Unit)是商品的最小库存单位,通常由多个属性组合而成(如颜色、尺寸等)。以下是基于 Vue 的实现方案。 数据结构设计…