需求:点击截屏按钮将表格(grid)组件内容以图片形式下载下来形成截屏
背景:kendo grid组件;公司已有grid转screenshot先例,cv时发现下载不下来,toBlob返回为null
import domtoimage from 'dom-to-image';
import { saveAs } from 'file-saver';
export function transDomToImage (node, name) {
domtoimage.toBlob(node).then(blob => {
if (blob) saveAs(blob, `{name}.png`)
})
}
transDomToImage(this.elementRef.nativeElement, name)
解决过程:参考Ref2感觉可能因为grid的dom太大了?但是之前公司的那个grid更大,用这个也没问题。请教同事姐姐之后得出解决方案:
transDomToImage(this.elementRef.nativeElement.querySelector('kendo-grid'), name)
但是至今没懂为什么这样会成功´・_・)?
Ref: