vue實(shí)現(xiàn)打印功能的示例代碼
安裝 vue3-print-nb
yarn add vue3-print-nb //或 npm install vue3-print-nb
main.js中引入 vue3-print-nb
import { createApp } from 'vue';
import App from './App.vue';
const app = createApp(App);
// 打印插件
import print from 'vue3-print-nb'
app.use(print)
//
頁(yè)面內(nèi)引入
import print from 'vue3-print-nb' const vPrint = print;
聲明打印時(shí)的配置的變量
const printSetting = ref({
id: 'printMe',
})
為打印按鈕綁定上v-print指令,值為配置變量
<div v-print="printSetting">打印</div>
配置完成了看效果,點(diǎn)擊打印出現(xiàn)打印模態(tài)框

Vue并沒(méi)有內(nèi)置的打印功能,但可以使用瀏覽器的API來(lái)實(shí)現(xiàn)打印。
具體實(shí)現(xiàn)步驟如下:
- 在需要打印的組件中添加一個(gè)按鈕,點(diǎn)擊該按鈕觸發(fā)打印事件。
- 在點(diǎn)擊事件中調(diào)用瀏覽器的打印API,將需要打印的內(nèi)容傳遞給該API。
代碼示例:
<template>
<div>
<button @click="print">打印</button>
<div ref="printContent">
<!-- 需要打印的內(nèi)容 -->
</div>
</div>
</template>
<script>
export default {
methods: {
print() {
const printContent = this.$refs.printContent.innerHTML
const printWindow = window.open('', '', 'height=500,width=500')
printWindow.document.write(`
<html>
<head>
<title>打印頁(yè)面</title>
</head>
<body>
${printContent}
</body>
</html>
`)
printWindow.print()
printWindow.close()
}
}
}
</script>在上面的例子中,我們先獲取需要打印的內(nèi)容的HTML代碼,然后創(chuàng)建一個(gè)新的瀏覽器窗口,并將該HTML代碼寫(xiě)入到該窗口中。
最后調(diào)用窗口的打印方法進(jìn)行打印并關(guān)閉該窗口。
需要注意的是,上述實(shí)現(xiàn)方式只適用于打印靜態(tài)內(nèi)容。如果需要打印動(dòng)態(tài)生成的內(nèi)容,需要在生成完畢后再調(diào)用打印API。
到此這篇關(guān)于vue實(shí)現(xiàn)打印功能的示例代碼的文章就介紹到這了,更多相關(guān)vue打印內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Antd Table組件表頭不對(duì)齊的問(wèn)題
這篇文章主要介紹了解決Antd Table組件表頭不對(duì)齊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
vue項(xiàng)目配置vuex并開(kāi)啟熱更新方式
這篇文章主要介紹了vue項(xiàng)目配置vuex并開(kāi)啟熱更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
html中創(chuàng)建并調(diào)用vue組件的幾種方法匯總
這篇文章主要介紹了html中創(chuàng)建并調(diào)用vue組件的幾種方法匯總,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-11-11
vue開(kāi)發(fā)中數(shù)據(jù)更新但視圖不刷新的解決方法
在開(kāi)發(fā)中我們處理數(shù)據(jù)時(shí)會(huì)遇到數(shù)據(jù)更新了,但視圖并沒(méi)有更新,這種情況往往是數(shù)據(jù)嵌套層數(shù)過(guò)多導(dǎo)致的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于vue開(kāi)發(fā)中數(shù)據(jù)更新但視圖不刷新的解決方法,需要的朋友可以參考下2022-11-11
解決vue做詳情頁(yè)跳轉(zhuǎn)的時(shí)候使用created方法 數(shù)據(jù)不會(huì)更新問(wèn)題
這篇文章主要介紹了解決vue做詳情頁(yè)跳轉(zhuǎn)的時(shí)候使用created方法 數(shù)據(jù)不會(huì)更新問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
vue實(shí)現(xiàn)簡(jiǎn)單全選和反選功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單全選和反選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了vue-cli 3.0 引入mint-ui報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
vue 項(xiàng)目中常用的 2 個(gè) Ajax 庫(kù)及簡(jiǎn)單使用示例
Ajax是一種在不重新加載整個(gè)頁(yè)面的情況下,通過(guò) JavaScript 與服務(wù)器進(jìn)行異步通信的技術(shù),這篇文章主要介紹了vue項(xiàng)目中常用的2 個(gè) Ajax庫(kù),需要的朋友可以參考下2025-06-06
Vue百度地圖實(shí)現(xiàn)定位和marker拖拽監(jiān)聽(tīng)功能
這篇文章主要介紹了Vue百度地圖實(shí)現(xiàn)定位和marker拖拽監(jiān)聽(tīng)功能,實(shí)現(xiàn)思路非常簡(jiǎn)單,本文結(jié)合實(shí)例代碼效果圖給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11

