downloadPort() {
let imgName = "components";
let zip = new jsZip();
// 获取所有选中的DOM元素
let doms = document.querySelectorAll('.selecteds');
// 生成Promise数组,用来存储所有生成的canvas对象
let allPromises = [];
// 遍历每个选中的DOM元素
for (let i = 0; i < doms.length; i++) {
let promise = new Promise((resolve, reject) => {
html2canvas(doms[i], {
allowTaint: true,
useCORS: true,
tainttest: true,
logging: true,
backgroundColor: `#fff`,
}).then((canvas) => {
// 把每个生成的canvas对象存储到zip文件中
canvas.toBlob(function(blob) {
zip.file(`component${i + 1}.png`, blob);
resolve();
});
});
});
allPromises.push(promise);
}
// 等待所有Promise对象完成后,生成并下载zip文件
Promise.all(allPromises).then(() => {
zip.generateAsync({ type: "blob" }).then(function (content) {
saveAs(content, `${imgName}.zip`);
});
});
// 清空选中的DOM元素
this.$refs.table.clearSelection();
},
批量导出成压缩包
最新推荐文章于 2024-10-01 20:12:28 发布