vue3使用vue3-print-nb實現(xiàn)區(qū)域打印功能
場景
大多數(shù)后臺系統(tǒng)中都存在打印的需求,在有打印需求時,對前端來說當(dāng)然是直接打印頁面更容易,那么本篇文章就是在vue3中,使用vue3-print-nb插件來區(qū)域打印,實現(xiàn)指哪打哪!
一.安裝vue3-print-nb
npm install vue3-print-nb
二.在main.ts中引入
//引入 import print from 'vue3-print-nb' //掛載 const app = createApp(App) app.use(print)
三.HTML
<!-- 打印區(qū)域容器 --> <div id="printBox"> <span>我就是被打印的內(nèi)容</span> <span>在#printBox 容器里的內(nèi)容都會被打印噢</span> </div> <!-- 按鈕綁定打印 --> <button v-print="print">點擊打開打印預(yù)覽</button>
四.參數(shù)配置
//這里是打印的配置項 const print=ref({ id: 'printBox',//這里的id就是上面我們的打印區(qū)域id,實現(xiàn)指哪打哪 popTitle: '配置頁眉標(biāo)題', // 打印配置頁上方的標(biāo)題 extraHead: '', // 最上方的頭部文字,附加在head標(biāo)簽上的額外標(biāo)簽,使用逗號分割 preview: false, // 是否啟動預(yù)覽模式,默認(rèn)是false previewTitle: '預(yù)覽的標(biāo)題', // 打印預(yù)覽的標(biāo)題 previewPrintBtnLabel: '預(yù)覽結(jié)束,開始打印', // 打印預(yù)覽的標(biāo)題下方的按鈕文本,點擊可進入打印 zIndex: 20002, // 預(yù)覽窗口的z-index,默認(rèn)是20002,最好比默認(rèn)值更高 previewBeforeOpenCallback() { console.log('正在加載預(yù)覽窗口!'); }, // 預(yù)覽窗口打開之前的callback previewOpenCallback() { console.log('已經(jīng)加載完預(yù)覽窗口,預(yù)覽打開了!') }, // 預(yù)覽窗口打開時的callback beforeOpenCallback() { console.log('開始打印之前!') }, // 開始打印之前的callback openCallback() { console.log('執(zhí)行打印了!') }, // 調(diào)用打印時的callback closeCallback() { console.log('關(guān)閉了打印工具!') }, // 關(guān)閉打印的callback(無法區(qū)分確認(rèn)or取消) clickMounted() { console.log('點擊v-print綁定的按鈕了!') }, })
附:分頁打印示例代碼
<template> <div> <button v-print="'#a'">打印</button> <div id="a"> // 方法一 // 使用div包裹需要分頁的塊 使用 css屬性 page-break-after:always進行分頁 <div style="page-break-after:always">第一頁</div> <div style="page-break-after:always">第二頁</div> </div> </div> </template> <style> // 方法二 // 使用媒體查詢 在打印時設(shè)置 body 和 html 的高度為auto @media print { @page { size: auto; } body, html { //如果vue最外層id,默認(rèn)是#app。如果設(shè)置了height:100%;,那么#app也加 height: auto !important; } } </style>
總結(jié)
到此這篇關(guān)于vue3使用vue3-print-nb實現(xiàn)區(qū)域打印功能的文章就介紹到這了,更多相關(guān)vue3實現(xiàn)區(qū)域打印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中前進刷新、后退緩存用戶瀏覽數(shù)據(jù)和瀏覽位置的實例講解
今天小編就為大家分享一篇vue中前進刷新、后退緩存用戶瀏覽數(shù)據(jù)和瀏覽位置的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09webpack+vue-cil 中proxyTable配置接口地址代理操作
這篇文章主要介紹了webpack+vue-cil 中proxyTable配置接口地址代理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue+vue-router轉(zhuǎn)場動畫的實例代碼
今天小編就為大家分享一篇vue+vue-router轉(zhuǎn)場動畫的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vue動態(tài)綁定class、style、background的方式
文章主要介紹了在Vue.js中如何使用動態(tài)綁定class、style和background來實現(xiàn)動態(tài)樣式和背景圖的設(shè)置,通過v-bind指令,可以靈活地根據(jù)數(shù)據(jù)變化來動態(tài)更新元素的樣式和背景2025-01-01