我正在尝试将jspdf和html2canvas用于我的项目。它工作得很好,但如果页面很大,单击按钮下载pdf后需要时间。我想在用户点击渲染PDF按钮后立即添加微调器。虽然我在反应中将loading属性的状态设置为true,但是不会呈现/显示该值,但它会在下载pdf之前显示。
有什么想法吗?
代码
printDocument() {
const input = document.getElementById('container');
this.setState({
isDownloading: true
});
html2canvas(input)
.then((canvas) => {
const imgData = canvas.toDataURL('image/png');
const pdf = new pdfConverter("p", "mm", "a4");
var width = pdf.internal.pageSize.width;
var height = pdf.internal.pageSize.height;
pdf.addImage(imgData, 'JPEG', 0, 0,width,height);
pdf.save("download.pdf");
this.setState({
isDownloading: false
})
})
;
}