"+(this.options.noPrint?this.options.noPrint:'.no-print')+"{display:none;}简介:之前项目中有打印指定区域的需求,有谷歌和百度上很多文章,基本上解决方法大同小异,想在这里写一篇文章,以备后用。解决方案一般分为两类:vue-print-nb和本地下载print.js。我不会在这里谈论第一个。这里主要是介绍print.js的使用。手动下载插件到本地,放到你本地的公共方法文件下//打印类属性,方法定义/\*eslint-disable\*/constprint=function(dom,options){if(!(thisinstanceof打印))返回新的打印(dom,选项);this.options=this.extend({'noPrint':'.no-print'},options);如果((typeofdom)===“字符串”){这个。dom=document.querySelector(dom);}else{this.isDOM(dom)this.dom=this.isDOM(dom)?dom:dom.$el;}this.init();};Print.prototype={init:function(){varcontent=this.getStyle()+this.getHtml();this.writeIframe(内容);},extend:function(obj,obj2){for(varkinobj2){obj\[k\]=obj2\[k\];}返回对象;},getStyle:function(){varstr="",styles=document.querySelectorAll('style,link');for(vari=0;i"+(this.options.noPrint?this.options.noPrint:'.no-print')+"{display:none;}";str+="";//str+=“”;returnstr;},getHtml:function(){varinputs=document.querySelectorAll('input');vartextareas=document.querySelectorAll('textarea');varselects=document.querySelectorAll('select');varcanvas=document.querySelectorAll('canvas');varisNeedRemove=document.querySelectorAll('.isNeedRemove')for(vark=0;k