最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-print如何實(shí)現(xiàn)打印功能

 更新時(shí)間:2025年04月24日 10:52:22   作者:小泡泡c  
這篇文章主要介紹了vue-print如何實(shí)現(xiàn)打印功能問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、安裝

1. Vue2

npm install vue-print-nb --save
import Print from 'vue-print-nb'
// Global instruction 
Vue.use(Print);

//or

// Local instruction
import print from 'vue-print-nb'

directives: {
    print   
}

2. Vue3

npm install vue3-print-nb --save
// Global instruction 
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

// Local instruction
import print from 'vue3-print-nb'

directives: {
    print   
}

二、基本使用

1. 直接打印頁(yè)面HTML

1)方法

  • ① 給要打印的部分設(shè)置一個(gè) id
  • ② 在打印按鈕中添加 v-print="'#id名'"

2)代碼(以表格為例)

<template>
  <div>
    <a-button v-print="'#printMe'">打印</a-button>
    <a-table :columns="columns" :data-source="data" bordered id="printMe">
  	</a-table>
  </div>
</template>
<script>
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
  },
  {
    title: 'Cash Assets',
    className: 'column-money',
    dataIndex: 'money',
  },
  {
    title: 'Address',
    dataIndex: 'address',
  },
];

const data = [
  {
    key: '1',
    name: 'John Brown',
    money: '¥300,000.00',
    address: 'New York No. 1 Lake Park',
  },
  {
    key: '2',
    name: 'Jim Green',
    money: '¥1,256,000.00',
    address: 'London No. 1 Lake Park',
  },
  {
    key: '3',
    name: 'Joe Black',
    money: '¥120,000.00',
    address: 'Sidney No. 1 Lake Park',
  },
];

export default {
  data() {
    return {
      data,
      columns,
    };
  },
};
</script>

2. 個(gè)性化設(shè)置

1)方法

打印按鈕的 v-print 綁定一個(gè)對(duì)象

2)代碼

<template>
  <div class="box">
    <a-table :columns="columns" :data-source="data" bordered id="printMe"></a-table>
    <a-button v-print="printContent" class="btn no-print">打印</a-button>
  </div>
</template>
<script>
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
  },
  {
    title: 'Cash Assets',
    className: 'column-money',
    dataIndex: 'money',
  },
  {
    title: 'Address',
    dataIndex: 'address',
  },
];

const data = [
  {
    key: '1',
    name: 'John Brown',
    money: '¥300,000.00',
    address: 'New York No. 1 Lake Park',
  },
  {
    key: '2',
    name: 'Jim Green',
    money: '¥1,256,000.00',
    address: 'London No. 1 Lake Park',
  },
  {
    key: '3',
    name: 'Joe Black',
    money: '¥120,000.00',
    address: 'Sidney No. 1 Lake Park',
  },
];

export default {
  data() {
    return {
      data,
      columns,
      tableHead: '測(cè)試表格',
      printContent: {
        id: "printMe", // 打印的區(qū)域
        preview: false, // 預(yù)覽工具是否啟用
        previewTitle: '這是預(yù)覽標(biāo)題', // 預(yù)覽頁(yè)面的標(biāo)題
        popTitle: '', // 打印頁(yè)面的頁(yè)眉
        extraCss: "https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css",
        extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>',
        previewBeforeOpenCallback() {
          console.log('正在加載預(yù)覽窗口')
        },
        previewOpenCallback() {
          console.log('已經(jīng)加載完預(yù)覽窗口')
        },
        beforeOpenCallback(vue) {
          vue.printLoading = true
          console.log('打開(kāi)之前')
        },
        openCallback(vue) {
          vue.printLoading = false
          console.log('執(zhí)行了打印')
        },
        closeCallback() {
          console.log('關(guān)閉了打印工具')
        },
        clickMounted(vue){
          console.log('點(diǎn)擊了打印按鈕');
          vue.printContent.popTitle = vue.tableHead // 動(dòng)態(tài)設(shè)置頁(yè)眉
        }
      }
    }
  }
};
</script>

3)效果展示

① 預(yù)覽工具

3. 打印URL

1)方法

  • ① 給 打印按鈕的 v-print 綁定一個(gè)對(duì)象
  • ② 對(duì)象添加 url 屬性

2)代碼

<template>
  <div class="box">
    <a-table :columns="columns" :data-source="data" bordered></a-table>
    <a-button v-print="printContent" class="btn no-print" >打印</a-button>
  </div>
</template>
<script>
const columns = [
  {
    title: 'Name',
    dataIndex: 'name',
  },
  {
    title: 'Cash Assets',
    className: 'column-money',
    dataIndex: 'money',
  },
  {
    title: 'Address',
    dataIndex: 'address',
  },
];

const data = [
  {
    key: '1',
    name: 'John Brown',
    money: '¥300,000.00',
    address: 'New York No. 1 Lake Park',
  },
  {
    key: '2',
    name: 'Jim Green',
    money: '¥1,256,000.00',
    address: 'London No. 1 Lake Park',
  },
  {
    key: '3',
    name: 'Joe Black',
    money: '¥120,000.00',
    address: 'Sidney No. 1 Lake Park',
  },
];

export default {
  data() {
    return {
      data,
      columns,
      tableHead: '測(cè)試表格',
      printContent: {
        url: 'http://localhost:8081/', // 打印的url
        preview: false, // 預(yù)覽工具是否啟用
        previewTitle: '這是預(yù)覽標(biāo)題',
        popTitle: '', // 打印頁(yè)面的頁(yè)眉
        extraCss: "https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.compat.css, https://cdn.bootcdn.net/ajax/libs/hover.css/2.3.1/css/hover-min.css",
        extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>',
      }
    }
  },
};
</script>

三、API

ParameExplainTypeOptionalValueDefaultValue
idRange print ID, required valueString
standardDocument type (Print local range only)Stringhtml5/loose/stricthtml5
extraHeadAdd DOM nodes in the node, and separate multiple nodes with , (Print local range only)String
extraCssNew CSS style sheet , and separate multiple nodes with ,(Print local range only)String
popTitleContent of label (Print local range only)String
openCallbackCall the successful callback function of the printing toolFunctionReturns the instance of Vue called at that time
closeCallbackClose the callback function of printing tool successFunctionReturns the instance of Vue called at that time
beforeOpenCallbackCallback function before calling printing toolFunctionReturns the instance of Vue called at that time
urlPrint the specified URL. (It is not allowed to set the ID at the same time)String
asyncUrlReturn URL through ‘resolve()’ and VueFunction
previewPreview toolBooleanfalse
previewTitlePreview tool TitleString‘打印預(yù)覽’
previewPrintBtnLabelThe name of the preview tool buttonString‘打印’
zIndexCSS of preview tool: z-indexString,Number20002
previewBeforeOpenCallbackCallback function before starting preview toolFunctionReturns the instance of Vue
previewOpenCallbackCallback function after fully opening preview toolFunctionReturns the instance of Vue
clickMountedClick the callback function of the print buttonFunctionReturns the instance of Vue

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue vant Area組件使用詳解

    vue vant Area組件使用詳解

    這篇文章主要介紹了vue vant Area組件使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • vue移動(dòng)端設(shè)置全屏背景的項(xiàng)目實(shí)踐

    vue移動(dòng)端設(shè)置全屏背景的項(xiàng)目實(shí)踐

    本vue移動(dòng)端項(xiàng)目設(shè)置全屏背景,關(guān)鍵是要找對(duì)文件,然后添加background屬性即可,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • Vue如何通過(guò)瀏覽器控制臺(tái)查看全局data值

    Vue如何通過(guò)瀏覽器控制臺(tái)查看全局data值

    在寫(xiě)vue項(xiàng)目時(shí)想到一個(gè)問(wèn)題,項(xiàng)目里面的文件都是一個(gè)個(gè)的組件,如何在控制臺(tái)中修改,查看組件data里的值呢,下面這篇文章主要給大家介紹了關(guān)于Vue如何通過(guò)瀏覽器控制臺(tái)查看全局data值的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Vue3中引入scss文件的方法步驟

    Vue3中引入scss文件的方法步驟

    這篇文章主要給大家介紹了關(guān)于Vue3中引入scss文件的方法步驟,在實(shí)際項(xiàng)目中,各種樣式往往有很多重復(fù)的情況,為了能夠使樣式的后續(xù)開(kāi)發(fā)和維護(hù)更加愜意,將這些共同的代碼進(jìn)行命名然后調(diào)用這些變量是一個(gè)很好的選擇,需要的朋友可以參考下
    2023-08-08
  • Vue elementui字體圖標(biāo)顯示問(wèn)題解決方案

    Vue elementui字體圖標(biāo)顯示問(wèn)題解決方案

    這篇文章主要介紹了Vue elementui字體圖標(biāo)顯示問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • vue2.0+webpack環(huán)境的構(gòu)造過(guò)程

    vue2.0+webpack環(huán)境的構(gòu)造過(guò)程

    本文分步驟給大家介紹了vue2.0+webpack環(huán)境的構(gòu)造過(guò)程的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • vue路由組件按需加載的幾種方法小結(jié)

    vue路由組件按需加載的幾種方法小結(jié)

    這篇文章主要介紹了vue路由組件按需加載的幾種方法小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 實(shí)例詳解vue中的代理proxy

    實(shí)例詳解vue中的代理proxy

    這篇文章主要介紹了vue中的代理proxy,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 一文輕松理解Vuex

    一文輕松理解Vuex

    這篇文章主要介紹了Vuex及其使用方法,感興趣的同學(xué),可以參考下
    2021-04-04
  • Vue父子組件數(shù)據(jù)雙向綁定(父?jìng)髯?、子傳父)及ref、$refs、is、:is的使用與區(qū)別

    Vue父子組件數(shù)據(jù)雙向綁定(父?jìng)髯印⒆觽鞲福┘皉ef、$refs、is、:is的使用與區(qū)別

    這篇文章主要介紹了Vue父子組件數(shù)據(jù)雙向綁定(父?jìng)髯?、子傳父)及ref、$refs、is、:is的使用與區(qū)別,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

定襄县| 囊谦县| 郎溪县| 阜新市| 乌兰察布市| 怀宁县| 新竹市| 舞阳县| 徐汇区| 班戈县| 乡宁县| 凤山县| 车险| 台前县| 噶尔县| 辽源市| 宜昌市| 车险| 临安市| 汨罗市| 达州市| 昌吉市| 图片| 北票市| 土默特右旗| 前郭尔| 伊金霍洛旗| 广州市| 盐亭县| 黄冈市| 夏津县| 册亨县| 陆河县| 宜都市| 赤水市| 琼海市| 湖口县| 凌海市| 离岛区| 洪雅县| 政和县|