Zusammenfassung zweier Methoden zum Implementieren der Vue-Druckfunktion

Zusammenfassung zweier Methoden zum Implementieren der Vue-Druckfunktion

Methode 1: Installieren Sie das Plugin über npm

1. Installieren Sie npm install vue-print-nb --save

2. Importieren Sie es nach der Installation in die Datei main.js

importiere Print von 'vue-print-nb' Vue.use(Print); //Registrieren

3. Jetzt können Sie es verwenden

<div id="Drucktest" >

  <p>Der Mond scheint auf die Berge</p>

    <p>Die Brise kommt vom Fluss</p>

</div>

<button v-print="'#printTest'">Drucken</button>

4. So drucken Sie über die Linkadresse: window.location.href = airway_bill; airway_bill ist die Linkadresse.

5. Sollte der Inhalt nicht vollständig ausgedruckt werden, klicken Sie während des Druckvorgangs auf Weitere Einstellungen und stellen Sie anschließend den Zoom ein.

Die zweite Methode: Laden Sie das Plug-In manuell auf den lokalen

Plugin-Adresse:

https://github.com/xyl66/vuePlugs_printjs

1. Erstellen Sie einen neuen Ordner „plugs“ unter „src“, legen Sie die heruntergeladene Datei „print.js“ in den Ordner „plugs“ und führen Sie dann die folgenden Schritte aus

Drucken aus '@/plugs/print' importieren
Vue.use(Print) // <Vorlage> registrieren
  <Abschnitt ref="Drucken">
    Inhalt drucken <div class="no-print">Druck mich nicht aus</div>
  </Abschnitt>
</Vorlage>
this.$print(this.$refs.print) // Verwendung

2. Hinweis: Sie müssen ref verwenden, um den DOM-Knoten abzurufen. Wenn Sie ihn direkt per ID oder Klasse abrufen, ist der gedruckte Inhalt nach dem Verpacken und Bereitstellen von Webpack leer.

3. Geben Sie den nicht druckbaren Bereich an

Methode 1. Fügen Sie eine No-Print-Stilklasse hinzu

<div class="no-print">Drucken Sie mich nicht aus</div>

Methode 2. Benutzerdefinierter Klassenname

<div class="do-not-print-me-xxx">Drucken Sie mich nicht aus</div>this.$print(this.$refs.print,{'no-print':'.do-not-print-me-xxx'}) // Verwenden

Stapeldruck

Beim Stapeldruck wird hier tatsächlich reines JS-Schreiben verwendet. Gehen wir direkt zum Code:

<Vorlage>
    <div>
        <ul Klasse="drucken-ul">
            <li v-for="(Element, Index) von Tabellendaten" :Schlüssel="Index" 
                :id="'printDiv' + index" Stil="Seitenumbruch nach: immer;">
                <div>
                    <p>{{Artikel.Datum}}</p>
                    <p>{{item.name}}</p>
                    <p>{{item.provinz}}</p>
                    <p>{{item.stadt}}</p>
                    <p>{{Artikel.Adresse}}</p>
                    <p>{{item.zip}}</p>
                </div>
            </li>
        </ul>
        <div @click="handlePrint">Drucken</div>
    </div>
</Vorlage>

<Skript>
    Standard exportieren {
        Daten() {
            zurückkehren {
                Tabellendaten: [{
                    Datum: '2016-05-03',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }, {
                    Datum: '2016-05-02',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }, {
                    Datum: '2016-05-04',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }, {
                    Datum: '2016-05-01',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }, {
                    Datum: '2016-05-08',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }, {
                    Datum: '2016-05-06',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }, {
                    Datum: '2016-05-07',
                    Name: 'Wang Xiaohu',
                    Provinz: 'Shanghai',
                    Stadt: 'Putuo District',
                    Adresse: „Nr. 1518, Jinshajiang Road, Putuo District, Shanghai“,
                    PLZ: 200333
                }]
            }
        },
        Methoden: {
            handlePrint() {
                var newWin = window.open(""); //Öffne ein neues leeres Fenster für (var i = 0; i < this.tableData.length; i++) {
                    var imageToPrint = document.getElementById("printDiv" + i); //Den zu druckenden Inhalt abrufen newWin.document.write(imageToPrint.outerHTML); //Den zu druckenden Inhalt dem neuen Fenster hinzufügen}
                const styleSheet = `<style>li{list-style:none}</style>`; 
                newWin.document.head.innerHTML = styleSheet; //Dem gedruckten Inhalt Stil hinzufügen newWin.document.close(); //Dieser Satz muss hinzugefügt werden, wenn er im Internet Explorer verwendet wird newWin.focus(); //Dieser Satz muss hinzugefügt werden, wenn er im Internet Explorer verwendet wird setTimeout(function() {
                    newWin.print(); //Drucken newWin.close(); //Fenster schließen }, 100);
            }
        }
    }
</Skript>

<Stil>
    .drucken-ul {
        Breite: 600px;
        Listenstil: keiner;
        Rand: 1px durchgezogen #e8e8e8;
    }
</Stil>

Zusammenfassen

Dies ist das Ende dieses Artikels über die Implementierung der Vue-Druckfunktion. Weitere relevante Inhalte zur Vue-Druckfunktion finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Zwei Möglichkeiten zum Implementieren der Druckfunktion in Vue
  • Verwenden von vue-print.js in Vue zum Drucken mehrerer Seiten
  • Implementierungscode des Vue-Druck-Plugins vue-print-nb
  • So drucken Sie Seiten mit vue-print-nb in vue

<<:  Lösung für das Problem der Installation der MySQL-komprimierten Version von Zip

>>:  So löschen Sie den MySQL-Dienst vollständig (bereinigen Sie die Registrierung)

Artikel empfehlen

Eine kurze Diskussion über den Unterschied zwischen src und href in HTML

Einfach ausgedrückt bedeutet src „Ich möchte dies...

Beispielcode zur Implementierung des Bildschubladeneffekts mit CSS3

Wie üblich posten wir zuerst den Bildeffekt: Das ...

So fügen Sie Docker dynamisch Ports hinzu, ohne das Image neu zu erstellen

Manchmal müssen Sie während des Betriebs freigege...

Erfahren Sie in zehn Minuten, wie Sie Microservices mit Docker bereitstellen

Seit seiner Veröffentlichung im Jahr 2013 wird Do...

Lösung für falsche Zeichenfolgenwerte in MySQL

Viele Freunde berichten von folgendem Fehler, wen...

Auszeichnungssprache - Stylesheets drucken

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Einführung in Netzwerktreiber für Linux-Geräte

Kabelgebundenes Netzwerk: Ethernet Drahtloses Net...

Optimieren Sie MySQL mit 3 einfachen Tricks

Ich erwarte nicht, ein erfahrener Datenbankadmini...

So legen Sie die UTF-8-Kodierung in einer MySQL-Datenbank fest

Ändern Sie die Datei /etc/my.cnf oder /etc/mysql/...

JavaScript zum Erzielen eines Fensteranzeigeeffekts

In diesem Artikel wird der spezifische JavaScript...

Detaillierter Prozess der Vue-Front-End-Verpackung

Inhaltsverzeichnis 1. Verpackungsbefehl hinzufüge...