如何解决更改组件中的QR码内容
我正在使用 ngx-qrcode2 在我的角度应用程序中生成QR码。我需要做的是将一组QR码附加到PDF并下载文件。
我循环更改组件中QR的内容。在我的DOM中,我看到循环运行时qr代码发生了变化。
fruits = ['mango','apple','orange']
async download() {
let doc = new jsPDF();
let imgDataArr = [];
for (const f of this.fruits) {
this.qrvalue = f;
while (!document.querySelector(".qrcode img")) {
await new Promise(r => setTimeout(r,500));
console.log("waiting for qr");
}
console.log("QR element is available");
const qrcode = document.getElementById('qrcode');
let imageData= this.getBase64Image(qrcode.firstChild.firstChild);
imgDataArr.push(imageData)
}
for (const data of imgDataArr ) {
doc.addImage(data,"JPG",10,10);
doc.addPage();
}
doc.save('FirstPdf.pdf');
}
但是,我下载的最终PDF包含三个带有相同数据的QR码。
那是为什么?元素更改之前有延迟吗?该如何解决?
请注意,我的实现很大程度上基于this answer。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。