欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue-print-nb實現(xiàn)頁面打印功能實例(含分頁打印)

 更新時間:2022年08月17日 14:21:39   作者:Fankyt  
在項目中,有時需要打印頁面的表格,在網上找了一個打印組件vue-print-nb,用了還不錯,所以下面這篇文章主要給大家介紹了關于vue-print-nb實現(xiàn)頁面打印功能的相關資料,需要的朋友可以參考下

Web 實現(xiàn)頁面打印

安裝

官網地址:https://github.com/Power-kxLee/vue3-print-nb

// 安裝 打印組件
npm install vue-print-nb --save

引用

vue2引用

import Print from 'vue-print-nb'
// 全局引用
Vue.use(Print);

// 或者

// 單組件引用
import print from 'vue-print-nb'
// 在自定義指令中注冊
directives: {
    print   
}

vue3引用

// 全局引用
import { createApp } from 'vue'
import App from './App.vue'
import print from 'vue3-print-nb'
const app = createApp(App)
app.use(print)
app.mount('#app')

// 或者

// 單組件引用
import print from 'vue3-print-nb'
// 在自定義指令中注冊
directives: {
    print   
}

API

屬性類型默認值必要可選值描述
idString--范圍打印 ID(如果設置url則可以不設置id)
urlString--打印指定的 URL。(不允許同時設置ID
popTitleString--默認使用瀏覽器標簽名,為空時為undefined
standardStringHTML5html5,loose,strict打印的文檔類型
extraHeadString--在節(jié)點中添加 DOM 節(jié)點, 并用,(Print local range only)分隔多個節(jié)點
extraCssString--新的 CSS 樣式表, 并使用,(僅打印本地范圍)分隔多個節(jié)點
openCallbackFunction--調用打印工具成功回調函數(shù)
closeCallbackFunction--關閉打印工具成功回調函數(shù)
beforeOpenCallbackFunction--調用打印工具前的回調函數(shù)
previewBooleanfalsetrue,false預覽工具
previewTitleString--‘打印預覽’
previewPrintBtnLabelString打印-打印按鈕名稱
previewBeforeOpenCallbackFunction--預覽打開前回調函數(shù)
previewOpenCallbackFunction--預覽打開回調函數(shù)
clickMountedFunction--點擊打印按鈕回調函數(shù)

示例代碼

全頁面打印

<button v-print>打印整個頁面</button>

局部打?。═ip:被打印的區(qū)域需要被渲染出來并且不能被隱藏才可以打印)

<template>
	<div>
		<button v-print="printOption">NB打印</button>
		<div id="nbprint">
			<table>
				<tr>
					<th>序號</th>
					<th>姓名</th>
					<th>年齡</th>
					<th>性別</th>
					<th>手機</th>
					<th>郵箱</th>
					<th>地址</th>
					<th>工齡</th>
					<th>崗位</th>
					<th>薪資</th>
				</tr>
				<tr v-for="(item, index) in list" key="index">
					<td>{{ index + 1}}</td>
					<td>{{ item.name }}</td>
					<td>{{ item.age }}</td>
					<td>{{ item.sex }}</td>
					<td>{{ item.phone }}</td>
					<td>{{ item.mail }}</td>
					<td>{{ item.address }}</td>
					<td>{{ item.workAge }}</td>
					<td>{{ item.jobs }}</td>
					<td>{{ item.salary }}</td>
				</tr>
			</table>
		</div>
	</div>
</template>

<script>
	export default {
		name: "nb-print",
		data() {
			return {
				printOption: {
					id: 'nbprint', // 打印元素的id 不需要攜帶#號
					popTitle: '員工信息' // 頁眉標題 默認瀏覽器標題 空字符串時顯示undefined 使用html語言
				},
				list: [{
						name: "阿噠",
						age: 26,
						sex: "男",
						phone: "12345678901",
						mail: "mmm@mmm.com",
						address: "藍星星國馬爾哈哈海島",
						workAge: 2,
						jobs: "研發(fā)",
						salary: "1.8k"
					},
					{
						name: "阿榮",
						age: 24,
						sex: "男",
						phone: "12345678901",
						mail: "mmm@mmm.com",
						address: "藍星星國馬爾哈哈海島",
						workAge: 1,
						jobs: "研發(fā)",
						salary: "1.8k"
					},
					{
						name: "阿豪",
						age: 26,
						sex: "男",
						phone: "12345678901",
						mail: "mmm@mmm.com",
						address: "藍星星國馬爾哈哈海島",
						workAge: 5,
						jobs: "產品",
						salary: "1.8k"
					},
					{
						name: "阿晨",
						age: 29,
						sex: "男",
						phone: "12345678901",
						mail: "mmm@mmm.com",
						address: "藍星星國馬爾哈哈海島",
						workAge: 9,
						jobs: "設計",
						salary: "1.8k"
					},
					{
						name: "阿震",
						age: 30,
						sex: "男",
						phone: "12345678901",
						mail: "mmm@mmm.com",
						address: "藍星星國馬爾哈哈海島",
						workAge: 7,
						jobs: "銷售",
						salary: "1.8k"
					},
					{
						name: "阿鋒",
						age: 21,
						sex: "男",
						phone: "12345678901",
						mail: "mmm@mmm.com",
						address: "藍星星國馬爾哈哈海島",
						workAge: 0.1,
						jobs: "售后",
						salary: "1.8k"
					}
				]
			}
		}
	}
</script>

打印預覽

<script>
	export default {
		name: "nb-print",
		data() {
			return {
				printOption: {
					id: 'nbprint', // 打印元素的id 不需要攜帶#號
					preview: true, // 開啟打印預覽
					previewTitle: '打印預覽', // 打印預覽標題
					popTitle: '員工信息', // 頁眉標題 默認瀏覽器標題 空字符串時顯示undefined 使用html語言
                      // 頭部文字 默認空 在節(jié)點中添加 DOM 節(jié)點, 并用,(Print local range only)分隔多個節(jié)點
					extraHead:'https://***/***.css, https://***/***.css', 
                      // 新的 CSS 樣式表, 并使用,(僅打印本地范圍)分隔多個節(jié)點
					extraCss: '<meta http-equiv="Content-Language"content="zh-cn"/>',
					previewBeforeOpenCallback: () => {
						console.log("觸發(fā)打印預覽打開前回調");
					},
					previewOpenCallback: () => {
						console.log("觸發(fā)打開打印預覽回調");
					},
					beforeOpenCallback: () => {
						console.log("觸發(fā)打印工具打開前回調");
					},
					openCallback: () => {
						console.log("觸發(fā)打開打印工具回調");
					},
					closeCallback: () => {
						console.log("觸發(fā)關閉打印工具回調");
					},
					clickMounted: () => {
						console.log("觸發(fā)點擊打印回調");
					}
				}
             }
		}
	}
</script>

分頁打印

<template>
	<div>
		<button v-print="'#nbprint'">NB打印</button>
		<div id="nbprint">
             // 方法一
             // 使用div包裹需要分頁的塊 使用 css屬性 page-break-after:always進行分頁
			<div style="page-break-after:always">這是第二頁</div>
			<div style="page-break-after:always">這是第二頁</div>
		</div>
	</div>
</template>

<style>
     // 方法二
     // 使用媒體查詢 在打印時設置 body 和 html 的高度為auto
     @media print {
        @page {
          size:  auto;
        }
        body, html {
          height: auto !important;
        }
      }
</style>

補充:vue-print-nb插件的一些優(yōu)化

1.去掉頁眉頁腳

<style>
@page {
    size: auto;
    margin: 0mm;
  }
</style>

2.打印內容不自動換行問題

只需要給不自動換行的標簽加上 word-wrap:break-word; 即可。

<style>
  .procedure{
      word-wrap:break-word;
   }
</style>

總結

到此這篇關于vue-print-nb實現(xiàn)頁面打印功能的文章就介紹到這了,更多相關vue-print-nb頁面打印內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue使用Luckysheet插件實現(xiàn)excel導入導出

    vue使用Luckysheet插件實現(xiàn)excel導入導出

    本文主要介紹了vue使用Luckysheet插件實現(xiàn)excel導入導出,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03
  • vue?3.0?使用ref獲取dom元素的示例

    vue?3.0?使用ref獲取dom元素的示例

    這篇文章主要介紹了vue?3.0?使用ref獲取dom元素,包括vue2.x獲取dom和vue3.0獲取單個dom,通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • vue實現(xiàn)跨域的方法分析

    vue實現(xiàn)跨域的方法分析

    這篇文章主要介紹了vue實現(xiàn)跨域的方法,結合實例形式分析了vue.js跨域的原理與相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • vue中的rem如何配置

    vue中的rem如何配置

    這篇文章主要介紹了vue中的rem如何配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue組件渲染與更新實現(xiàn)過程淺析

    Vue組件渲染與更新實現(xiàn)過程淺析

    這篇文章主要介紹了Vue組件渲染與更新實現(xiàn)過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-03-03
  • Vue導出Excel功能的全過程記錄

    Vue導出Excel功能的全過程記錄

    在開發(fā)后臺管理系統(tǒng)的時候,很多地方都要用到導出excel 表格,比如將table中的數(shù)據導出到本地,這篇文章主要給大家介紹了關于Vue導出Excel功能的相關資料,需要的朋友可以參考下
    2021-07-07
  • mpvue中配置vuex并持久化到本地Storage圖文教程解析

    mpvue中配置vuex并持久化到本地Storage圖文教程解析

    這篇文章主要介紹了mpvue中配置vuex并持久化到本地Storage的教程詳解,# 配置vuex和在vue中相同,只是mpvue有一個坑,就是不能直接在new Vue的時候傳入store。本文分步驟給大家介紹的非常詳細,需要的朋友參考下吧
    2018-03-03
  • 詳解vue+vueRouter+webpack的簡單實例

    詳解vue+vueRouter+webpack的簡單實例

    這篇文章主要介紹了詳解vue+vueRouter+webpack的簡單實例,非常具有實用價值,需要的朋友可以參考下
    2017-06-06
  • vue項目中引入noVNC遠程桌面的方法

    vue項目中引入noVNC遠程桌面的方法

    下面小編就為大家分享一篇vue項目中引入noVNC遠程桌面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue中頁面跳轉攔截器的實現(xiàn)方法

    vue中頁面跳轉攔截器的實現(xiàn)方法

    這篇文章主要給大家介紹了關于vue中頁面跳轉攔截器的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。
    2017-08-08

最新評論