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

Tipps zum Erstellen von Web-Tabellenrahmen

<br />Tipps zum Erstellen von Web-Tabellenra...

W3C Tutorial (8): W3C XML Schema Aktivitäten

XML Schema ist eine XML-basierte Alternative zu D...

Detaillierte Erklärung der HTML-Dokumenttypen

Meines ist: <!DOCTYPE html> Blog-Garten: &l...

Docker unter Linux installieren (sehr einfache Installationsmethode)

Ich hatte in letzter Zeit ziemlich viel Zeit. Ich...

Detaillierte Schritte zum Bereitstellen von Microsoft SQL Server mit Docker

Inhaltsverzeichnis 1 Hintergrund 2 Erstellen Sie ...

js realisiert 3D-Soundeffekte durch audioContext

In diesem Artikel wird der spezifische Code von j...

Fallstudie zu JavaScript Anti-Shake

Prinzip Das Prinzip von Anti-Shake ist: Du kannst...

Installations- und Verwendungsschritte für vue-amap

Ich habe zuvor die Verwendung des asynchronen Lad...

Tutorial zur DHCP-Konfiguration in der CentOS7-Umgebung

Inhaltsverzeichnis Konfigurationsbefehlsschritte ...