图片实例:

简介:

  QRCode.js 是一个生成二维码的JS库。主要是通过获取 DOM 的节点,再通过 HTML5 Canvas 绘制而成,不依赖任何库。

用法:

  1. 在项目中引入qrcode.min.js文件。 js文件网盘地址: https://pan.baidu.com/s/1kHB90FpMAJUvGvDNPpMm7Q 提取码: hkz4

  2. 创建ref节点:  

<div style={{ width, height }} ref={qrcodeRef} />

  3. 在render中创建ref 提供一个dom节点:

const qrcodeRef = React.createRef();

  4. 定义创建二维码的方法,以及调用:

function createdCode(id) {
new QRCode(qrcodeRef.current, {
text: `${url}?id=${id}`, // url or text
width, // 二维码宽度
height, // 二维码高度
colorDark, // 二维码颜色
colorLight, //二维码背景底色
correctLevel: QRCode.CorrectLevel.H, //层级等级
});
}

其他方法:

const [qrc, setQrcode] = useState(''); //state中定义qrcode

function creatCoe() {
if(qrc) {
qrc.makeCode('text'); // 重新生成二维码
} else {
const qrcode = new QRCode(qrcodeRef.current, {
text,
width,
height,
colorDark,
colorLight,
correctLevel: QRCode.CorrectLevel.H,
});
setQrcode(qrcode); //在state中储存 qrcode
}
} qrc.clear(); //清除代码

这样就会生成一个base64的img,如果要下载功能,去除当前节点的base64图片的src即可!

QRCode.js ------------------------------------------------> GitHub地址

最新文章

  1. vs打开项目出现“尚未配置为Web项目XXXX指定的本地IIS URL HTTP://localhost:…… .要打开此项目,需要配置虚拟目录……”提示
  2. tonado框架的列表嵌套 (template中for循环嵌套)
  3. 用cython提升python的性能
  4. Uiautomator ——API详解
  5. postgresql异常快速定位
  6. [COCI]coci2015/2016 nekameleoni
  7. [GRYZ2015]快排练习
  8. data stage走起
  9. idea执行go
  10. Mybaits简诉
  11. mysql数据库出现2003-Can&#39;t connect to MySQL server on &#39;localhost&#39; (10061)的解决方法
  12. kafka之zookeeper 节点
  13. JS:onmouseover 、onmouseout
  14. [P1306] 斐波那契公约数 (矩阵快速幂+斐波那契数列)
  15. 从零开始学习html(二)认识标签(第一部分)——上
  16. 免费的剪贴板工具Ditto安装与使用
  17. 一次简单的ctf SQL注入绕过
  18. TFS Java SDK使用指南
  19. [转帖] 知乎: 为什么品牌机器里面的VTX都是关闭的..
  20. centos 6.5安装rvm 配置 Ruby开发环境

热门文章

  1. [转]C++ 模板 静态成员 定义(实例化)
  2. NetworkX系列教程(6)-对graph进行操作
  3. ELF格式说明
  4. kvm 学习(三)存储池
  5. getLocation需要在app.json中声明permission字段,解决办法
  6. [TJOI2019]甲苯先生和大中锋的字符串——后缀自动机+差分
  7. html中的lang标记有什么用
  8. Lasso回归的坐标下降法推导
  9. 用http请求thrift服务端出现了内存溢出的情况
  10. vue项目中 favicon.ico不能正确显示的问题