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并沒有內(nèi)置的打印功能,但可以使用瀏覽器的API來實(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代碼寫入到該窗口中。
最后調(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)文章
vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式
這篇文章主要介紹了vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Vue實(shí)現(xiàn)開關(guān)按鈕拖拽效果
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)開關(guān)按鈕拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09Vue 使用高德地圖添加點(diǎn)標(biāo)記 + 點(diǎn)擊地圖獲取坐標(biāo) + 帶搜索(即地
這篇文章主要介紹了Vue 使用高德地圖添加點(diǎn)標(biāo)記 + 點(diǎn)擊地圖獲取坐標(biāo) + 帶搜索(即地理編碼 + 逆地理編碼) 附完整示例,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01vue.js框架實(shí)現(xiàn)表單排序和分頁(yè)效果
這篇文章主要為大家詳細(xì)介紹了vue.js框架實(shí)現(xiàn)表單排序和分頁(yè)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Vue reactive函數(shù)實(shí)現(xiàn)流程詳解
一個(gè)基本類型的數(shù)據(jù),想要變成響應(yīng)式數(shù)據(jù),那么需要通過ref函數(shù)包裹,而如果是一個(gè)對(duì)象的話,那么需要使用reactive函數(shù),這篇文章主要介紹了Vue reactive函數(shù)2023-01-01