记录一个html2canvas 使用中遇到的问题

html2canvas使用

1、html2canvas在vue中的使用

import html2canvas from 'html2canvas';
const convertToImage = (container, options = {}) => {
    const opts = {
        sacle: 3,
        useCORS: true,
        allowTaint: true,
        ...options
    };
    return html2canvas(container, opts).then(canvas) => {
        return canvas.toDataURL();
    }
}

2、遇到的问题

将element drawer中的一个dom元素通过html2canvas转换为图片时,图片出现白色边框。
在查看父子元素渲染顺序时,发现drawer比它内部的子元素先mounted,猜测出现上面的白边是因为执行转换函数时,子元素还没完全加载。

解决方法

在drawer的同级,增加一个与需要转换元素相同的dom结构,并隐藏它。当drawer打开时,保证需要转换的元素已经加载完成,这样在转换后就不会生成白边了

posted @ 2022-01-19 15:56  去有风的地方  阅读(358)  评论(0编辑  收藏  举报