vue 打印,vue前端打印,vue打印功能实现的两种方法总结

vue 打印,vue前端打印,vue打印功能实现的两种方法总结

在项目中,有时需要打印页面的表格,所以下面文章主要介绍两种实现vue打印功能的方法,以及批量打印的完整代码,供大家参考。

第一种方法:通过npm 安装插件

1.安装NPM安装vue-打印-注意-保存。

2.安装简介后,在main.js文件中介绍。

从' vue-print-nb'Vue.use(Print)导入打印;//寄存器

3.现在可以用了。

div id='printTest '

p月亮照耀着群山/p

p微风来自河流/p

/div

按钮v-print=''#printTest ' '打印/按钮

4.如果需要通过链接打印地址:window . location . href=airway _ bill;Airway_bill是链接地址。

5.如果内容没有完全打印,请在打印操作过程中单击更多设置,然后设置缩放比例。

第二种方法:手动下载插件到本地

插件地址:

https://github.com/xyl66/vuePlugs_printjs

1.在src下新建一个文件夹plugs,将下载的print.js放入plugs文件夹,然后操作如下

从“@/plugs/print”导入打印内容

Vue.use(Print) //注册

模板

section ref='print '

打印内容

'不打印'不要打印我/div

/部分

/模板

这个。$ print(这个。$ refs . print)//使用

2.注意:需要使用ref来获取dom节点。如果直接通过id或class获取DOM节点,那么webpack打包部署后打印出来的内容将是空的。

3.指定非打印区域。

1.添加非打印样式类。

'不打印'不要打印我/div

2.自定义类名

不要打印我,不要打印我。$ print(这个。$ refs.print,{'no-print ':'。do-not-print-me-XXX ' })//使用

批量打印

这里批量打印用的其实是纯js编写。直接进入代码:

模板

差异

ul class='print-ul '

li v-for='(item,index) of tableData' :key='index '

:id=' ' print div ' index ' style=' page-break-after:always;'

差异

p{{item.date}}/p

p{{item.name}}/p

p{{item.province}}/p

p{{item.city}}/p

p{{item.address}}/p

p{{item.zip}}/p

/div

/李

/ul

div @ click=' handle print ' print/div

/div

/模板

脚本

导出默认值{

data() {

返回{

表数据:[{

日期:“2016年5月3日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}, {

日期:“2016年5月2日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}, {

日期:“2016年5月4日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}, {

日期:“2016年5月1日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}, {

日期:“2016年5月8日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}, {

日期:“2016年5月6日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}, {

日期:“2016年5月7日”,

姓名:“王小虎”,

省份:“上海”,

城市:'普陀区',

地址:“上海市普陀区金沙江路1518弄”,

邮政编码:200333

}]

}

},

方法:{

handlePrint() {

var new win=window . open(' ');//打开一个新的空窗口

for(var I=0;I this . table data . length;i ) {

var imageto print=document . getelementbyid(' print div ' I);//获取需要打印的内容

new win . document . write(imageto print . outer html);//将要打印的内容添加到新窗口中

}

const style sheet=` style Li { list-style:none }/style `;

new win . document . head . innerhtml=style sheet;//为打印内容添加样式

new win . document . close();//在IE浏览器中使用时必须加上这句话

new win . focus();//在IE浏览器中使用时必须加上这句话

setTimeout(function() {

new win . print();//打印

new win . close();//关闭窗口

}, 100);

}

}

}

/脚本

风格。打印-ul {

宽度:600px

列表样式:无;

边框:1px纯色# e8e8e8

}

/风格

总结

关于vue打印功能实现的这篇文章到此为止。有关vue打印功能的更多信息,请搜索我们之前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: