Vue中使用vue-print-nb插件
安装
1 2 3 4 5
| // Vue2版本安装 npm install vue-print-nb --save
// Vue3版本安装 npm install vue3-print-nb --save
|
引入包
Vue2引入方式:
1 2 3 4 5 6 7 8 9 10
| // 1. 全局挂载 import Print from 'vue-print-nb' Vue.use(Print)
// 2. 自定义指令 import print from 'vue-print-nb' directives: { print }
|
Vue3引入方式:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // 1. 全局挂载 import { createApp } from 'vue' import App from './App.vue' import print from 'vue3-print-nb' const app = createApp(App) app.use(print) app.mount('#app')
// 2. 自定义指令 import print from 'vue3-print-nb'
directives: { print }
|
使用
在打印页面时,不要使用 v-if
的判断元素,因为 v-if
是不渲染dom节点的,会导致打印的页面不全,可以使用 v-show
代替。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <el-button v-print="printObj" v-waves size="small" type="primary" icon="el-icon-printer">打印</el-button>
<el-table id="printList"> print me </el-table>
data() { return { ... printObj: { // 打印对象 id: 'printList', // 要打印元素的id popTitle: '打印文档标题', // 不填的话会出现undefind字样 extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>' } } },
|
API
可以去github去查看APi GitHub地址