vue项目中使用qrcodesjs2生成二维码简单示例

 更新时间:2023年05月25日 14:56:48   作者:无知的小菜鸡  
最近项目中需生成二维码,发现了很好用的插件qrcodesjs2,所以下面这篇文章主要给大家介绍了关于vue项目中使用qrcodesjs2生成二维码的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

最近写项目遇到一个需求需要生成二维码,看了一下项目中生成二维码使用的都是qrcodesjs2,而且操作比较简单。在这里简单记录一下

vue项目中使用qrcodesjs2生成二维码

安装

npm i qrcodejs2 -S

html

<!-- 放置二维码的容器,需要给一个ref -->
 <div v-for="(item,i) in qrcode" :key="i">
 	<div id="qrcode" :ref="qrcode[i]"></div>
 <div>

项目中需要打印多个二维码,而且这样更加通用无论打印单个还是多个都可以

js

// 生成二维码
   printTwoCode(width) {
       for (let j in this.qrcode) {
           let code = this.qrcode[j]; // 二维码内容
           new QRCode(this.$refs[`${this.qrcode[j]}`][0], {
               text: code,
               render: 'canvas',
               width: width,
               height: width,
               colorDark: '#000000',
               colorLight: '#ffffff'
           });
       }
   },

清除

for (let j in this.qrcode) {
       this.$refs.qrcode[j][0].innerHTML = ''
  }

使用

this.$nextTick(() => {
     this.printTwoCode(130);
 });

附:使用qrcodejs2生成多个二维码

首先安装qrcodejs2

然后引用  import QRCode from 'qrcodejs2'

<div class="box">
    <div v-for="(item, index) in list" class="boxscod" :key="index">
      <div :id="`code${item.id}`" :ref="`code${item.id}`" class="qrcode">
      </div>
      <div class="abc">
          <span class="cargo-wrap">{{ item.id }}</span>
          <span class="cargo-cardNo">{{ item.idCard }}</span>
        </div>
    </div>
  </div>
return {
      list: [
        { id: '01', idCard: 15336 },
        { id: '02', idCard: 18528 },
        { id: '03', idCard: 78542 },
        { id: '04', idCard: 46824 },  
      ],
    };
mounted() {
    this.showCode();
  },
  methods: {
    creatQrCode(id, code) {
      console.log(code);
      console.log(typeof code);
      var qrcode = new QRCode(id, {
        text: encodeURI(code), // 需要转换为二维码的内容
        width: 70,
        height: 70,
        colorDark: "#000000",
        colorLight: "#ffffff",
        // correctLevel: QRCode.CorrectLevel.H,
      });
      console.log(qrcode);
    },
    // 展示二维码
    showCode() {
      //   this.closeCode()
      this.$nextTick(() => {
        this.list.forEach((item) => {
          //   if (item.type === 1 || item.type === 2) {
          this.creatQrCode("code" + item.id, item.idCard);
          //   }
        });
      });
    },
  },

总结

到此这篇关于vue项目中使用qrcodesjs2生成二维码的文章就介绍到这了,更多相关vue用qrcodesjs2生成二维码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 前端必知必会之Vue $emit()方法详解

    前端必知必会之Vue $emit()方法详解

    这篇文章主要介绍了前端必知必会之Vue $emit()方法的相关资料,Vue.js中的$emit()方法用于在子组件中创建自定义事件,并在父组件中捕获这些事件,这在需要从子组件向父组件传递信息的大型项目中非常有用,需要的朋友可以参考下
    2025-02-02
  • vue.js  父向子组件传参的实例代码

    vue.js 父向子组件传参的实例代码

    这篇文章主要介绍了vue.js 父向子组件传参的实例代码,需要的朋友可以参考下
    2017-10-10
  • vue.nextTick()与setTimeout的区别及说明

    vue.nextTick()与setTimeout的区别及说明

    这篇文章主要介绍了vue.nextTick()与setTimeout的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue3 选中对话框时对话框右侧出一个箭头效果

    vue3 选中对话框时对话框右侧出一个箭头效果

    本文主要介绍了Vue3实现选中对话框带箭头效果的方法,首先通过后台获取数据进行遍历,利用ts代码判断选中下标与循环游标是否一致以改变样式,感兴趣的朋友一起看看吧
    2024-10-10
  • Vue2和Vue3响应式原理对比分析

    Vue2和Vue3响应式原理对比分析

    Vue2采用Object.defineProperty实现响应式,存在无法监听新增属性、数组索引变化及性能问题;Vue3使用Proxy全面覆盖,支持更灵活的数据操作,性能更优且TypeScript兼容性更好,推荐长期项目使用Vue3
    2025-08-08
  • 基于vue2实现简单的答题组件

    基于vue2实现简单的答题组件

    这篇文章主要为大家详细介绍了如何基于vue2实现简单的答题组件,点击正确的选项,该选项背景变绿色;点击错误的选项,该选项背景变红色,有需要的可以参考下
    2024-12-12
  • vue.js将时间戳转化为日期格式的实现代码

    vue.js将时间戳转化为日期格式的实现代码

    这篇文章主要介绍了vue.js将时间戳转化为日期格式的实现代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Vue 非常实用的自定义指令分享

    Vue 非常实用的自定义指令分享

    这篇文章主要介绍了Vue 非常实用的自定义指令分享,Vue自定义指令有全局注册和局部注册两种方式,在 Vue,除了核心功能默认内置的指令 ( v-model 和 v-show ),Vue 也允许注册自定义指令,下文小编给大家分享那些常用到的Vue自定义指令
    2022-02-02
  • vue3中的ref与reactive使用方法对比

    vue3中的ref与reactive使用方法对比

    Vue3 提供了两个新的 API:ref 和 reactive,它们可以帮助我们更好地管理和处理响应式数据,这篇文章主要介绍了vue3中的ref与reactive的区别和使用方法,需要的朋友可以参考下
    2023-04-04
  • 打通前后端构建一个Vue+Express的开发环境

    打通前后端构建一个Vue+Express的开发环境

    这篇文章主要介绍了打通前后端构建一个Vue+Express的开发环境,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论