国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue-print-nb使用和解決打印element表格不全問題

這篇具有很好參考價值的文章主要介紹了vue-print-nb使用和解決打印element表格不全問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

vue-print-nb使用

  1. 安裝 vue-print-nb
npm install vue-print-nb --save
  1. 在main.js中引入
// main.js
import Print from 'vue-print-nb'
Vue.use(Print)
  1. 使用 vue-print-nb
// 打印按鈕綁定 printObj
<el-button v-print="printObj">打印</el-button>
// 在數(shù)據(jù)data中添加
printObj: {
  id: 'print',
  popTitle: '', // 打印配置頁上方標題
  extraCss: '', // 打印可引入外部的一個 css 文件
  ... ... // 其他配置項或鉤子函數(shù)可參考官方 https://www.npmjs.com/package/vue-print-nb
},
// 被打印的容器
<div id="print">這塊內(nèi)容將會被打印</div>

解決打印element表格不全問題

  1. 因為需要修改源碼,所以直接拷貝以下文件,放到項目的assets目錄下(將node_modules/vue-print-nb/print文件拷貝至項目中,不一定要assets目錄,想放哪放哪,下面在main.js中引入的時候填寫對應(yīng)路徑即可)
    vue-print-nb使用和解決打印element表格不全問題
  2. 在main.js中引入(之前在main.js中引入的vue-print-nb可以去掉了)
// main.js
import Print from './assets/print'
Vue.use(Print)
  1. 在assets目錄中的print文件夾下找到print.js修改代碼,添加beforeEntryIframe鉤子
// print.js
new Print({
   ids: id, // * 局部打印必傳入id
   vue,
   url: binding.value.url, // 打印指定的網(wǎng)址,這里不能跟id共存 如果共存id的優(yōu)先級會比較高
   standard: '', // 文檔類型,默認是html5,可選 html5,loose,strict
   extraHead: binding.value.extraHead, // 附加在head標簽上的額外標簽,使用逗號分隔
   extraCss: binding.value.extraCss, // 額外的css連接,多個逗號分開
   previewTitle: binding.value.previewTitle || '打印預(yù)覽', // 打印預(yù)覽的標題
   zIndex: binding.value.zIndex || 20002, // 預(yù)覽窗口的z-index
   previewPrintBtnLabel: binding.value.previewPrintBtnLabel || '打印', // 打印預(yù)覽的標題
   popTitle: binding.value.popTitle, // title的標題
   preview: binding.value.preview || false, // 是否啟動預(yù)覽模式
   asyncUrl: binding.value.asyncUrl,
   
   // ----------------添加下方代碼  beforeEntryIframe-----------------------
   beforeEntryIframe(){
     binding.value.beforeEntryIframe && binding.value.beforeEntryIframe(vue)
   },
   // ----------------------------------------------------------------------
   
   
   previewBeforeOpenCallback () { // 預(yù)覽窗口打開之前的callback
     binding.value.previewBeforeOpenCallback && binding.value.previewBeforeOpenCallback(vue)
   },
   previewOpenCallback () { // 預(yù)覽窗口打開之后的callback
     binding.value.previewOpenCallback && binding.value.previewOpenCallback(vue)
   },
   openCallback () { // 調(diào)用打印之后的回調(diào)事件
     binding.value.openCallback && binding.value.openCallback(vue)
   },
   closeCallback () {
     binding.value.closeCallback && binding.value.closeCallback(vue)
   },
   beforeOpenCallback () {
     binding.value.beforeOpenCallback && binding.value.beforeOpenCallback(vue)
   }
 });
  1. 在assets目錄中的print文件夾下找到printarea.js修改代碼,添加一行代碼以觸發(fā)上方的beforeEntryIframe函數(shù)
// printarea.js
// 找到 getBody 添加一行代碼 this.settings.beforeEntryIframe();
getBody () {
  let ids = this.settings.ids;
  ids = ids.replace(new RegExp("#", "g"), '');
  
  // ------------添加的這一行-----------------
  this.settings.beforeEntryIframe();
  // ----------------------------------------
  
  this.elsdom = this.beforeHanler(document.getElementById(ids));
  let ele = this.getFormData(this.elsdom);
  let htm = ele.outerHTML;
  return '<body>' + htm + '</body>';
}
  1. 在使用vue-print-nb的頁面中修改printObj對象(上面的vue-print-nb使用步驟3)
// 在數(shù)據(jù)data中添加
printObj: {
  id: 'print',
  popTitle: '', // 打印配置頁上方標題
  extraCss: '', // 打印可引入外部的一個 css 文件
  // ... ... // 其他配置項或鉤子函數(shù)可參考官方 https://www.npmjs.com/package/vue-print-nb

  // ------------------------添加下面代碼---------------------------
  beforeEntryIframe () {
    const cells = document.querySelectorAll('.cell')
    const tableNode = document.querySelectorAll('.el-table__header,.el-table__body')
    // el-table 打印不全的問題
    for (let j = 0; j < tableNode.length; j++) {
      const tableItem = tableNode[j]
      tableItem.style.width = '100%'
      const child = tableItem.childNodes
      for (let i = 0; i < child.length; i++) {
        const element = child[i]
        if (element.localName === 'colgroup') {
          element.innerHTML = ''
        }
      }
    }
    // el-table 格子里面打印超過格子的問題
    for (let i = 0; i < cells.length; i++) {
      const cell = cells[i]
      cell.style.width = '100%'
      cell.removeAttribute('style')
    }
  }
},
  1. 改完后運行代碼,查看打印效果,一行放不下時文字會做換行處理
    vue-print-nb使用和解決打印element表格不全問題

文章來源地址http://www.zghlxwxcb.cn/news/detail-470993.html

到了這里,關(guān)于vue-print-nb使用和解決打印element表格不全問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • vue使用打印組件print-js

    vue使用打印組件print-js

    由于甲方要求,項目需要打印二維碼標簽,故開發(fā)此功能 安裝包:npm install print-js --save print-js的使用 例如:在打印過程中會出現(xiàn)字體樣式失效的問題: ? ? ? ? ?加入這行代碼即可 font_size: \\\'\\\',

    2024年02月10日
    瀏覽(24)
  • 【Vue】使用print.js插件實現(xiàn)打印預(yù)覽功能,超簡單

    【Vue】使用print.js插件實現(xiàn)打印預(yù)覽功能,超簡單

    目錄 一、實現(xiàn)效果 ?二、實現(xiàn)步驟 【1】安裝插件 【2】在需要打印的頁面導(dǎo)入 【3】在vue文件中需要打印的部分外層套一層div,給div設(shè)置id。作為打印的區(qū)域 【4】在打印按鈕上添加打印事件 【5】在methods中添加點擊事件 三、完整代碼 ? print.js插件,可以打印html、pdf、json數(shù)

    2024年02月14日
    瀏覽(25)
  • 解決vue+element ui 在使用element表格時,出現(xiàn)表格表頭與內(nèi)容對不齊的問題

    解決vue+element ui 在使用element表格時,出現(xiàn)表格表頭與內(nèi)容對不齊的問題

    我們在使用element ui的表格功能時,出現(xiàn)如下圖所示表格頭與內(nèi)容對不齊的問題時解決方法如下 ?方法一: 在App.vue中加入 方法二: 在自建的css文件中加入? body .el-table th.gutter{ display: table-cell!important; } 然后使用下列語句將css文件導(dǎo)入App.vue中 效果如下圖所示 ? ? ?

    2024年02月15日
    瀏覽(27)
  • 使用Vue @media print在JavaScript中插入不同尺寸的打印頁面,可自定義尺寸大小和打印機配置

    本文介紹了如何在Vue項目中使用@media print和JavaScript來插入不同尺寸的打印頁面,并提供了代碼編寫、使用教程、注意事項和避坑點,最后進行了總結(jié)。 在開發(fā)Web應(yīng)用程序時,經(jīng)常需要提供打印功能。Vue框架提供了@media print媒體查詢,可以根據(jù)打印需求自定義打印頁面的樣式

    2024年02月05日
    瀏覽(71)
  • Vue3 開發(fā)實戰(zhàn)分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 實戰(zhàn))以及 el-table 與 el-pagination 的深入使用(下)

    Vue3 開發(fā)實戰(zhàn)分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 實戰(zhàn))以及 el-table 與 el-pagination 的深入使用(下)

    在進入文章的正文之前,我們先一起了解一下關(guān)于 CSDN 今年的 1024 程序員節(jié)。與此同時這也是我在 CSDN 參與的第二個 1024 程序員節(jié)日,轉(zhuǎn)眼間也快寫博客兩年時間,去年很遺憾沒有去到深圳(疫情原因)線下參加這個有趣而充實的峰會。今年沒有特殊情況的話一定會如約而至

    2024年02月06日
    瀏覽(25)
  • Vue3 開發(fā)實戰(zhàn)分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 實戰(zhàn))以及 el-table 與 el-pagination 的深入使用(上)

    Vue3 開發(fā)實戰(zhàn)分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 實戰(zhàn))以及 el-table 與 el-pagination 的深入使用(上)

    今天久違的更新一下關(guān)于 Vue 的文章了,本篇文章是基于 Vue3 + Node.js + ElementPlus 的實戰(zhàn)項目分享,實戰(zhàn)內(nèi)容包括有打印插件 Print.js 的使用,以及關(guān)于 ElementPlus 中的 el-table 與 el-pagination 的深入使用。本次項目以文章(axios 實戰(zhàn)進階練習(xí)——基于 Vue3 + Node.js + ElementPlus 實現(xiàn)的聯(lián)

    2024年02月06日
    瀏覽(28)
  • npm install vue3-print-nb --legacy-peer-deps npm ERR!

    npm install vue3-print-nb --legacy-peer-deps npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/vue3-print-nb failed, reason: certificate has expired npm ERR! A complete log of this run can be found in: C:UsersadminAppDataLocalnpm-cache_logs2024-01-22T04_35_33_436Z-debug-0.log 解決方法:

    2024年01月23日
    瀏覽(21)
  • vue2 element ui 的表格使用 sortablejs 拖拽列遇到的問題和解決方案

    項目使用?element ui 的表格實現(xiàn)拖動表頭可改變列的寬度,又使用sortablejs實現(xiàn)表格的列可拖拽到其他列的位置,導(dǎo)致出現(xiàn)如下的一些問題: 1、某一列寬變大或變小后,只有當前列可拖拽,其他列無法拖拽。 解決方案:在列寬發(fā)生改變后,銷毀當前拖拽實例,再重新創(chuàng)建拖拽

    2024年02月08日
    瀏覽(19)
  • vue-print 實現(xiàn)打印功能

    vue-print 實現(xiàn)打印功能

    一、安裝 1. Vue2 2. Vue3 二、基本使用 1. 直接打印頁面HTML 1)方法 ① 給要打印的部分設(shè)置一個 id ② 在打印按鈕中添加 v-print=\\\"\\\'#id名\\\'\\\" 2)代碼(以表格為例) 2. 個性化設(shè)置 1)方法 打印按鈕的 v-print 綁定一個對象 2)代碼 3)效果展示 ① 預(yù)覽工具 3. 打印URL 1)方法 ① 給 打印

    2024年02月02日
    瀏覽(21)
  • 解決print spooler打印服務(wù)自動停止的過程記錄

    辦公室一臺電腦的共享打印機突然無法打印,提示打印服務(wù)已停止,打開服務(wù)發(fā)現(xiàn)print spooler服務(wù)已經(jīng)停止,同時打印機列表中打印機記錄也全部消失。右鍵啟動服務(wù),打印機列表出現(xiàn),但是刷新后發(fā)現(xiàn)print spooler服務(wù)又已經(jīng)停止。 根據(jù)網(wǎng)上的解決方法,有人認為是打印服務(wù)的

    2024年02月04日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包