vue-print打印

目前工做的项目须要使用到打印,用的是vue.js框架vue

最开始使用的打印插件有个bug,就是分页的时候若是有些数据恰好跨进分页的位置,就会形成下图的数据丢失的问题git

因此更换了打印插件github

第一种 vue-print-nb 打印npm

    1.安装插件npm install vue-print-nb --save浏览器

    2.在main.js引入插件框架

import Print from 'vue-print-nb'
Vue.use(Print)

    3.给须要打印的最外层元素添加id函数

<div id="printPage" :style="printTable ? 'width:1175px;' : ''">

    4.添加打印的点击事件this

<button v-print="'#printMe'">打印</button>spa

这个时候只要点击此按钮就能显示出打印的设置及内容插件

这种方法有个缺陷,就是难以经过js控制打印以前或者以后的一些事件

第二种方法print.js打印:

1.下载 Print.js ,放到/src/plugs文件夹下

2.main.js引入插件

import Print from '@/plugs/print'

Vue.use(Print)

3.给须要打印的最外层元素添加ref 

<div ref="printPage" :style="printTable ? 'width:1175px;' : ''">

4.设置打印按钮及编写打印函数

<el-button type="primary" size="mini" @click="print()" >打印</el-button>
print() {
  this.$print(this.$refs.printPage)
}
this.$print(this.$refs.printPage) //这就是执行打印操做,调用起浏览器打印机

这样js函数里面就能够控制相关逻辑或者事件

这种方法就完美解决了个人需求

相关文章
相关标签/搜索