VUE實現列印功能的兩種方法
第一種方法:通過npm 安裝外掛
1,安裝 npm install vue-print-nb --save
2,引入 安裝好以後在main.js檔案中引入
import Print from 'vue-print-nb'
Vue.use(Print); //註冊
3,現在就可以使用了
<div id="printTest" >
<p>鋤禾日當午</p>
<p>汗滴禾下土 </p>
<p>誰知盤中餐</p>
<p>粒粒皆辛苦</p>
</div>
<button v-print="'#printTest'">列印</button>
如果內容列印不全,在列印操作時點選更多設定,然後設定縮放
第二種方法:手動下載外掛到本地
外掛地址:https://github.com/xyl66/vuePlugs_printjs
在src下新建資料夾plugs,將下載好的print.js放入plugs資料夾下,然後操作如下
import Print from '@/plugs/print'
Vue.use(Print) // 註冊
<template>
<section ref="print">
列印內容
<div class="no-print">不要列印我</div>
</section>
</template>
this.$print(this.$refs.print) // 使用
注意事項 需使用ref獲取dom節點,若直接通過id或class獲取則webpack打包部署後列印內容為空
指定不列印區域
方法1. 新增no-print樣式類
<div class="no-print">不要列印我</div>
方法2. 自定義類名
<div class="do-not-print-me-xxx">不要列印我</div>
this.$print(this.$refs.print,{'no-print':'.do-not-print-me-xxx'}) // 使用
提示,github上有一個錯誤如下,避免踩坑,($ref 會報錯,print undefind ; 改為 $refs 就好了)