vue实现打印功能

一、vue-print-nb

1.安装依赖 vue-print-nb

cnpm i vue-print-nb -S

2.在mian.js中引入

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

3.在页面中使用

<div id="printTest" >    <p>test1</p>    <p>test1</p></div><button v-print="'#printTest'">打印</button>

缺点:
只能打印可见区域,不能分页打印

二、print.js

1. 下载源码

https://github.com/xyl66/vuePlugs_printjs

2. 在mian.js中引入

import Print from '@/plugins/print'Vue.use(Print)

3. 在页面中使用

<template>    <div ref="print">    打印内容    <div class="no-print">不要打印我</div>    </div>    <a-button @click="prints">打印</a-button></template><script>export default {  data () {    return {}  },  methods: {    prints () {      this.$print(this.$refs.print)    }  }}</script>

注意事项 需使用ref获取dom节点,若直接通过id或class获取则webpack打包部署后打印内容为空 指定不打印区域 方法一. 添加no-print样式类

<div class="no-print">不要打印我</div>

方法二. 自定义类名

<div class="do-not-print-me-xxx">不要打印我</div>this.$print(this.$refs.print,{'no-print':'.do-not-print-me-xxx'}) // 使用
(0)

相关推荐