qrcode

  • 1 安装
  • 2 引入
  • 3 使用
    • 3.1 方法1 :QRCode.toCanvas()
    • 3.2 方法2 :QRCode.toDataURL()
  • 4 完整示例

qrcode 是一个用于生成二维码的 JavaScript 库。主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成

1 安装

npm install --save qrcode

2 引入

import QRCode from 'qrcode';

如果您使用的 TypeScript,则在引入的时候可能会提示一下 error:

无法找到模块“qrcode”的声明文件。“C:/Users/shaoming/Desktop/swimxu/swim-react/node_modules/qrcode/lib/index.js”隐式拥有 “any” 类型。

尝试使用 npm i --save-dev @types/qrcode (如果存在),或者添加一个包含 declare module 'qrcode'; 的新声明(.d.ts)文件ts(7016)

则需要安装 @types/qrcode,即可解决。

npm install --save @types/qrcode

3 使用

3.1 方法1 :QRCode.toCanvas()

直接操作DOM,适合用于将二维码直接下载到本地。

<canvas id='canvas' />
const canvas = document.getElementById('canvas'); // 获取canvas节点
QRCode.toCanvas(canvas, '二维码中存储的数据内容'); // 绘制二维码

3.2 方法2 :QRCode.toDataURL()

适合 react 使用。

<img src={imgUrl} />
const [imgUrl, setImgUrl] = useState('')
......QRCode.toDataURL('二维码中存储的数据内容', (error: Error | null | undefined, url: string) => {setImgUrl(url); // 将获取的url存到state中,方便img标签中使用
});

4 完整示例

React 使用 qrcode 实例:

import { useState } from 'react';
import { Button } from 'antd';
import QRCode from 'qrcode';const View = () => {const [imgUrl, setImgUrl] = useState('')const handleClick = async () => {const value = '二维码中存储的数据内容'const canvas = document.getElementById('canvas');QRCode.toCanvas(canvas, value);QRCode.toDataURL(value, (error: Error | null | undefined, url: string) => {setImgUrl(url);});}return (<div style={{ width: 240, margin: '100px auto', textAlign: 'center' }}><Buttontype='primary'onClick={handleClick}style={{ width: 240, margin: '40px auto' }}>点击生成二维码</Button><canvas id='canvas' /><img src={imgUrl} /></div >)
}export default View

使用 qrcode 生成二维码相关推荐

  1. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  2. 使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法

    使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 参考文章: (1)使用jQuery的插件qrcode生成二维码(静态+动态生成)及常见问题解决方法 (2)https: ...

  3. 关于QRCode生成二维码(背景图、Logo)

    关于QRCode生成二维码的代码 /// <summary> /// 创建二维码 /// </summary> /// <param name="QRStrin ...

  4. php使用Qrcode生成二维码

    php使用Qrcode生成二维码 首先检查php.ini Gd 库要打开 use QrCode; //控制器引用public function index(){include 'phpqrcode.p ...

  5. 用ThoughtWorks.QRCode生成二维码时出现“索引超出了数组界限”的错误

    用ThoughtWorks.QRCode生成二维码时出现"索引超出了数组界限"的错误 字符串较长的情况下,用ThoughtWorks.QRCode生成二维码时出现"索引超 ...

  6. qrcode 生成二维码,带logo 带文字描述

    qrcode 生成二维码 1.引入 pom.xml 2. ResourceRenderer 3. QRCodeUtil 4. QRCodeController 5. HTML 6. 测试 1.引入 p ...

  7. C语言使用QRcode生成二维码

    C语言使用QRcode生成二维码的简单操作 首先需要QRcode源码包 可以参考这位大神的文章: https://blog.csdn.net/qq_21475601/article/details/7 ...

  8. qr-code 生成二维码

    1.下载: composer require endroid/qr-code php: >=7.2 2.新建Qrcodes.php二维码生成类 use Endroid\QrCode\ErrorC ...

  9. vue使用qrcode生成二维码

    vue使用qrcode生成二维码 1. 首先安装qrcode插件 npm i qrcode -S 2.引入使用 import QRCode from 'qrcode' 3.生成二维码 <temp ...

  10. TP6使用qrcode生成二维码

    经常会碰到系统根据地址生成二维码的使用场景,如健康码,分享商品,邀请用户注册等,使用qrcode生成二维码非常方便,它支持带logo或者不带,也可以设置二维码大小. composer require ...

最新文章

  1. 远程桌面连接由于网络错误而丢失
  2. asp.net广告控件的使用
  3. mysql 5.7.25 的安装与 安装错误修改 适用于5.7解压版
  4. P2084 进制转换
  5. 八种常见的 SQL 错误用法
  6. 数字系统设计学习之VHDL输入设计
  7. 中国队新主帅朱广沪印象
  8. linux里终端安转视频播放器的操作及显示
  9. 整理一下N年前写的java web考勤管理系统
  10. homelede软路由设置方法_小米路由器3 5G WiFi设置方法
  11. 让最好用的印象笔记更好用
  12. python清洗数据 food ounces animal_Wonz 的动态 - SegmentFault 思否
  13. Soul向港交所递交上市申请,持续发力社交元宇宙赛道
  14. Matlab_GUI gcf、gca 以及gco 的区别用法
  15. 最大公约数和最小公倍数实现
  16. Anaconda3-5.2.0+PyTorch1.3.0+cuda9.2本地安装教程
  17. PS制作渐变金属文字
  18. (Git/Github笔记)Git使用时错误记录
  19. 商城项目-商品规格参数管理
  20. java本地缓存_java缓存——(五)LocalCache本地缓存分享

热门文章

  1. 5个小众且实用性超高的国产APP,每一个都是良心分享!
  2. “你手上有几个offer?”,该怎么回答?
  3. CA周记 - Build 2022 上开发者最应关注的七大方向主要技术更新
  4. 微信社群管家推荐使用它,专业社群运营管理助手!
  5. 设置Accept-Encoding为gzip,deflate,返回的网页是乱码
  6. 阿里云MVP行走玄奘之路
  7. Centos7下Nginx代理和二级域名配置
  8. centos stream8 安装gitlab,和上传文件
  9. Alwayson无域安装测试
  10. STM32cubeProgrammer连接设置说明