vue element 如何打印弹窗里的内容?
用vue-element里的dialog组件,在弹窗内显示一个表单,并用一个打印按钮,打印该表单。
打印用了window.print()这个方法。
因为只打印页面中弹窗内的部分,所以将id为dialogContent的div替换了原body的innerHTML,打印后再替换为原本的body,代码如下:
var oldHtml = document.body.innerHTML;
document.body.innerHTML = document.getElementById("dialogContent").innerHTML;
window.print();
document.body.innerHTML = oldHtml;
网上的这个方法,遇到两个问题:
1、第一次能打开打印界面,但是关闭后,就无法第二次打开了,而且页面也无法进行任何操作。
2、并且由于表单宽度问题,表单的内容,右边的一半没有被显示在打印界面。
请问该怎么解决??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
innerHMTL会造成绑定丢失,可以window.open(''),写入document.write(dialogdome)打开新页面来打印,就是体验...,
或者尝试将其它元素隐藏
请问后续如何解决?我目前打印也是打印不全
楼主,请问最后是怎么解决的呢?