方法一:
window.document.body.innerHTML替换页面html导致事件失效,所以打开新窗口来解决;
printExample = () => {
let prnHtml = '';//需要打印的内容
const newWin = window.open(''); // 新打开一个空窗口
newWin.document.body.innerHTML = prnHtml;//把需要打印的内容插入新窗口
newWin.document.close();//关闭文档输入流(window.close()和document.close()的区别)
newWin.focus();
setTimeout(() => {//定时器等待,JS单线程,异步执行此行代码
newWin.print();
newWin.close();//打印完成或取消,关闭新窗口
}, 300);
}
方法二: