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

使用vue-print-nb打印el-table問題總結(jié)

 更新時間:2024年01月28日 10:54:33   作者:喜陳  
這篇文章主要介紹了使用vue-print-nb打印el-table問題總結(jié),通過實例代碼介紹了vue-print-nb 打印功能,本文結(jié)合實例代碼講解的非常詳細,感興趣的朋友一起看看吧

使用vue-print-nb打印el-table問題總結(jié)

css樣式添加媒體查詢 @media print {} 樣式只有在打印的時候才會生效

1、解決單選框復選框打印時選中消失的問題

@media print {
  // 解決單選框復選框打印時選中消失的問題
  ::v-deep .el-radio__input,
  ::v-deep .el-checkbox__input {
    -webkit-print-color-adjust: exact;
    -moz-print-color-adjust: exact;
    color-adjust: exact;
  }
}

2、解決表格打印時表格顯示不全的問題

 // 解決表格打印時表格顯示不全的問題
  ::v-deep table {
    table-layout: auto !important;
  }
  ::v-deep .el-table__header-wrapper .el-table__header {
    width: 99% !important;
  }
  ::v-deep .el-table__body-wrapper .el-table__body {
    width: 98% !important;
  }
  ::v-deep #print table {
    table-layout: fixed !important;
  }
  ::v-deep .el-table__fixed {
    display: none;
  }

3、解決table 序號打印錯亂問題

 ::v-deep .el-table .el-table__cell.is-hidden > * {
    visibility: visible;
    font-size: 12px;
  }

4、不需要打印的內(nèi)容 在標簽上添加class名 noPrint 即可

  .noPrint {
    display: none;
  }
  @page {
    size: auto;
    // margin: 3mm; // 頁邊距
  }

其他打印樣式

  // form 表單打印樣式調(diào)整
  ::v-deep .el-form-item__label {
    padding: 0;
    width: 90px !important;
  }
  ::v-deep .el-form-item__content {
    margin-left: 90px !important;
  }
  ::v-deep .el-select__caret {
    opacity: 0;
  }
  ::v-deep .el-form-item__label {
    padding: 0;
    width: 90px !important;
  }
  // 清除input邊框
  ::v-deep .el-input__inner {
    max-width: 180px;
    padding: 0px;
    border: 0;
  }
  ::v-deep .el-table {
    .el-input__inner {
      display: none;
    }
  }
  // el-select 多選清除邊距,icon和背景
  ::v-deep .el-input__icon {
    display: none;
  }
  ::v-deep .el-tag {
    padding: 0;
    border-width: 0;
  }
  ::v-deep .el-tag__close {
    display: none;
  }

補充:

vue-print-nb 打印功能總結(jié)

一、安裝vue-print-nb

1 vue2安裝 npm install vue-print-nb --save

2 vue3 安裝 npm install vue3-print-nb --save

二、引入Vue項目

vue2 引入方式

// 1. 全局掛載
import Print from 'vue-print-nb'
Vue.use(Print)
// or
// 2. 自定義指令
import print from 'vue-print-nb'
directives: {
  print
}

vue3 引入方式

// 1. 全局掛載
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')
// or 
// 2. 自定義指令
import print from 'vue3-print-nb'
directives: {
    print   
}

三、參數(shù)說明

四、應(yīng)用

template示例

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2>Essential Links</h2>
    // 局部打印文本以及按鈕
    <div id="printArea">Print Area</div>
    <button v-print="print">Print!</button>
    <ul>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          Core Docs
        </a>
      </li>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          Forum
        </a>
      </li>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          Community Chat
        </a>
      </li>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          Twitter
        </a>
      </li>
      <br>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          Docs for This Template
        </a>
      </li>
    </ul>
    <h2>Ecosystem</h2>
    <ul>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          vue-router
        </a>
      </li>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          vuex
        </a>
      </li>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          vue-loader
        </a>
      </li>
      <li>
        <a
           rel="external nofollow" 
          target="_blank"
        >
          awesome-vue
        </a>
      </li>
    </ul>
  </div>
</template>

script示例:

export default {
  name: 'HelloWorld',
  data () {
    let that = this
    return {
      msg: 'Welcome to Your Vue.js App',
      print: {
        id: 'printArea',
        popTitle: '配置頁眉標題', // 打印配置頁上方的標題
        extraHead: '打印', // 最上方的頭部文字,附加在head標簽上的額外標簽,使用逗號分割
        preview: true, // 是否啟動預(yù)覽模式,默認是false
        previewTitle: '預(yù)覽的標題', // 打印預(yù)覽的標題
        previewPrintBtnLabel: '預(yù)覽結(jié)束,開始打印', // 打印預(yù)覽的標題下方的按鈕文本,點擊可進入打印
        zIndex: 20002, // 預(yù)覽窗口的z-index,默認是20002,最好比默認值更高
        previewBeforeOpenCallback () { console.log('正在加載預(yù)覽窗口!'); console.log(that.msg, this) }, // 預(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ū)分確認or取消)
        clickMounted () { console.log('點擊v-print綁定的按鈕了!') },
        // url: 'http://localhost:8080/', // 打印指定的URL,確保同源策略相同
        // asyncUrl (reslove) {
        //   setTimeout(() => {
        //     reslove('http://localhost:8080/')
        //   }, 2000)
        // },
        standard: '',
        extarCss: ''
      }
    }
  }
}

五、注意點

Callback函數(shù)中this指向當前print object對象,that返回Vue對象;

不需要頁眉頁腳可以在打印彈窗頁面的更多設(shè)置里面取消選擇;

不設(shè)置popTitle參數(shù)頁眉標題為undifined;

popTitle參數(shù)為空時,頁眉標題默認為Document Title。

六、打印樣式設(shè)置

/*
***設(shè)置打印內(nèi)容樣式,不影響頁面原有樣式
***以下內(nèi)容為設(shè)置element table在打印時的樣式,防止打印不全*/
@page {
  size: auto;
  margin: 3mm;
}
@media print {
  html {
    background-color: #ffffff;
    height: auto;
    margin: 0px;
  }
  body {
    border: solid 1px #ffffff;
    /* margin: 10mm 15mm 10mm 15mm; */
  }
  #print table {
    table-layout: auto !important;
  }
  #print .el-table__header-wrapper .el-table__header {
    width: 100% !important;
    border: solid 1px #f2f2f2;
  }
  #print .el-table__body-wrapper .el-table__body {
    width: 100% !important;
    border: solid 1px #f2f2f2;
  }
  #print #pagetable table {
    table-layout: fixed !important;
  }
  #print .el-table__empty-block {
    width: 100% !important;
    height: auto !important;
  }
  #print .el-input-number--small{
    width: 100% !important;
  }
}

七 window.print() 瀏覽器打印功能

js 執(zhí)行 window.print() 就會調(diào)用谷歌瀏覽器的打印功能。

到此這篇關(guān)于使用vue-print-nb打印el-table問題總結(jié)的文章就介紹到這了,更多相關(guān)vue-print-nb打印el-table內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js計算屬性computed與watch(5)

    Vue.js計算屬性computed與watch(5)

    這篇文章主要為大家詳細介紹了Vue.js計算屬性computed與watch,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Vue使用Swiper的案例詳解

    Vue使用Swiper的案例詳解

    這篇文章主要介紹了Vue使用Swiper的案例詳解,主要包括引入swiper,創(chuàng)建輪播圖組件CarouselContainer.vue的詳細代碼,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 解決Vue+ts里面this.$store問題

    解決Vue+ts里面this.$store問題

    這篇文章主要介紹了解決Vue+ts里面this.$store問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue+iview+less+echarts實戰(zhàn)項目總結(jié)

    vue+iview+less+echarts實戰(zhàn)項目總結(jié)

    本篇文章是作者通過學習vue+iview+less+echarts制作一個小系統(tǒng)后,做的心得以及遇到的坑的總結(jié),值得大家學習參考。
    2018-02-02
  • Vue官網(wǎng)todoMVC示例代碼

    Vue官網(wǎng)todoMVC示例代碼

    本篇文章主要介紹了Vue官網(wǎng)todoMVC示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • 關(guān)于vue中路由的跳轉(zhuǎn)和參數(shù)傳遞,參數(shù)獲取

    關(guān)于vue中路由的跳轉(zhuǎn)和參數(shù)傳遞,參數(shù)獲取

    這篇文章主要介紹了關(guān)于vue中路由的跳轉(zhuǎn)和參數(shù)傳遞,參數(shù)獲取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Vue項目中實現(xiàn)ElementUI按需引入過程解析

    Vue項目中實現(xiàn)ElementUI按需引入過程解析

    這篇文章主要介紹了Vue項目中實現(xiàn)ElementUI按需引入,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • vue3緩存頁面keep-alive及路由統(tǒng)一處理詳解

    vue3緩存頁面keep-alive及路由統(tǒng)一處理詳解

    當我們不想每次跳轉(zhuǎn)路由都會重新加載頁面時(重新加載頁面很耗時),就可以考慮使用keep-alive緩存頁面了,這篇文章主要給大家介紹了關(guān)于vue3緩存頁面keep-alive及路由統(tǒng)一處理的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 如何通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli)

    如何通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli)

    從A頁面訪問到B頁面,并且要獲取到B頁面上的數(shù)據(jù),而兩個頁面所在的端口、協(xié)議和域名中哪怕有一個不對等,那么這種行為就叫跨域,這篇文章給大家介紹如何通過Vue自帶服務(wù)器實現(xiàn)Ajax請求跨域(vue-cli),感興趣的朋友一起看看吧
    2023-10-10
  • 詳細講解如何創(chuàng)建, 發(fā)布自己的 Vue UI 組件庫

    詳細講解如何創(chuàng)建, 發(fā)布自己的 Vue UI 組件庫

    當我們自己開發(fā)了一個 _UI Component_, 需要在多個項目中使用的時候呢? 我們首先想到的可能是直接復制一份過去對嗎?我們?yōu)槭裁床话l(fā)布一個 UI 組件庫給自己用呢?下面小編和大家來一起學習下吧
    2019-05-05

最新評論