vue3實現(xiàn)區(qū)域打印功能過程(vue3-print-nb)
更新時間:2025年07月27日 15:03:48 作者:琢鳴
本文講解Vue3中使用vue3-print-nb插件實現(xiàn)區(qū)域打印,包含安裝、引入、HTML及參數(shù)配置步驟,支持靈活定位打印,推薦相關(guān)技術(shù)如Print.js、Pinia、二維碼生成等
場景
大多數(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)題下方的按鈕文本,點擊可進(jìn)入打印
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綁定的按鈕了!') },
})總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3使用Vuex之mapState與mapGetters詳解
這篇文章主要為大家介紹了Vue3使用Vuex之mapState與mapGetters詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
vue中的this.$router.push()路由傳值方式
這篇文章主要介紹了vue中的this.$router.push()路由傳值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10

