UNPKG

vue-print-nb-jeecg

Version:

This is a directive wrapper for printed, Simple, fast, convenient, light. ( 特定改造版本: 解决IE兼容问题和支持Canvas自适应打印 )

42 lines (37 loc) 863 B
import Print from './printarea.js'; /** * @file 打印 * 指令`v-print`,默认打印整个窗口 * 传入参数`v-print="'#id'"` , 参数为需要打印局部的盒子标识. */ export default { directiveName: 'print', bind(el, binding, vnode) { let vue = vnode.context; let closeBtn = true; el.addEventListener('click', (event) => { if (binding.value) { localPrint(); } else { window.print(); } }); const localPrint = () => { vue.$nextTick(() => { if (closeBtn) { closeBtn = false; let print = new Print({ el: binding.value, endCallback() { closeBtn = true; } }); } }); }; }, update(el, binding) { }, unbind(el) { } };