0.0.1 • Published 3 years ago

@hvuejs/vue-print-js v0.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

vue-print-js

vue print plugin, vue2 or vue3; IE = 11.

NPM

npm install vue-print-js --save

or

yarn add vue-print-js

USE

vue2

// vue2
import Vue from "vue"
import { Vue2Printjs } from 'vue-print-js'
// Global instruction 
Vue.use(Vue2Printjs)

// or

// Local instruction
import { Vue2Printjs } from 'vue-print-js'

directives: {
    Vue2Printjs
}

vue3

// vue3
import { createApp } from "vue";
import App from "./App.vue";
const app = createApp(App);

// Global instruction 
import { Vue3Printjs } from 'vue-print-js'
app.use(Vue3Printjs);

app.mount("#app");

// or

// Local instruction
import { Vue3Printjs } from 'vue-print-js'

directives: {
    Vue3Printjs
}

Component

// App.vue

<template>
    <div id="printMe">
        <main>Content</main>
        <button class="no-print" v-print="printConfig">button print</button>
    </div>
</template>
<script>
export default {
    data () {
        return {
            printConfig: {
                id: "#printMe",
                beforeOpenCallback(vm) {
                    console.log("before open", vm);
                },
                openCallback(vm) {
                    console.log("open", vm);
                },
                closeCallback(vm) {
                    console.log("close", vm);
                },
                clickMounted(vm) {
                    console.log("click", vm);
                },
            }
        }
    }
}
</script>

or

<template>
    <div id="printMe">
        <main>Content</main>

        <!-- 'no-print'  not print button -->
        <button class="no-print" @click="handlePrint">button print</button>
    </div>
</template>

<script>
import { print } from 'vue-print-js'

export default {
    data () {
        return {
            loading: false
        }
    },
    methods: {
        // 直接事件调用
        handlePrint () {
            // print("#printMe")
            print({
                id: "#printMe",
                beforeOpenCallback: () => {
                    console.log('before open')
                },
                openCallback: () => {
                    console.log('open')
                },
                closeCallback: () => {
                    console.log('close')
                }
            })
        }
    }
}
</script>

API

ParameExplainTypeOptionalValueDefaultValue
idRange print ID, required valueString
standardDocument type (Print local range only)Stringhtml5/loose/stricthtml5
extraHead<head></head>Add DOM nodes in the node, and separate multiple nodes with , (Print local range only)String
extraCss<link> New CSS style sheet , and separate multiple nodes with ,(Print local range only)String-
mediaCssmedia='print' Load the print CSS style sheetBooleantrue/falsefalse
popTitle<title></title> Content 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--
clickMountedClick the callback function of the print buttonFunctionReturns the instance of Vue-