小功能之——————将当前页面导出成图片并自动下载
import domtoimage from 'dom-to-image'
import html2camvas from 'html2canvas'
function saveView() { // 这个框架ok,网上说这个框架清晰度不好,我试了下,感觉还够用!
2 let capture = document.querySelector('#index') as HTMLElement; // 导出内容的容器
3 if (capture) {
4 domtoimage.toPng(capture, {}).then(function (dataUrl) {
5 let a = document.createElement('a')
6 let event = new MouseEvent('click');
7 a.href = dataUrl
8 a.setAttribute('download', `测点详情分析-${dayjs().format('YYYYMMDDhhmmhh')}.png`)
9 if(a.dispatchEvent(event)) {
10 ElMessage('视图自动保存中,请注意查收!')
11 }
12 })
13 // html2canvas(capture, { // 这个导出框架,我用的时候某些元素会偏移,百度查阅后,有说当页面元素存在在transform,属性时,就会位置偏移。其他功能都ok
14 // logging: false, //日志开关,便于查看html2canvas的内部执行流程
15 // width: capture.clientWidth, //dom 原始宽度
16 // height: capture.clientHeight,
17 // scale:1.2,
18 // scrollY: 0,
19 // scrollX: 0,
20 // useCORS: true // 【重要】开启跨域配置
21 // }).then(canvas => {
22 // let a = document.createElement('a')
23 // let event = new MouseEvent('click');
24 // a.href = canvas.toDataURL()
25 // a.setAttribute('download', `测点详情分析-${dayjs().format('YYYYMMDDhhmmhh')}.png`)
26 // if(a.dispatchEvent(event)) {
27 // ElMessage('视图自动保存中,请注意查收!')
28 // }
29 // })
30 }
31 }