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

So verwenden Sie vue.js zum Implementieren der Drag & Drop-Funktion

Vorwort Durch das Hinzufügen einer Drag & Dro...

MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest

Inhaltsverzeichnis MYSQL METADATA LOCK (MDL LOCK)...

Richtige Methode zum Laden von Schriftarten in Vue.js

Inhaltsverzeichnis Schriftarten mit font-face ric...

Eine kurze Einführung in das bionische Design im Internet-Webdesign

Beim Stichwort Bionik-Design denken viele an die E...

So ändern Sie das Passwort des Root-Benutzers in MySQL

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Schritte zur Methode „Mysql-Abfragedatenbankkapazität“

Abfrage der Gesamtgröße aller Datenbanken So geht...

Erstellen Sie mit PS in zwei Minuten eine Homepage für eine XHTML+CSS-Website

Es gibt zu viele Artikel über Webstandards zur We...

CSS Acht auffällige HOVER-Effekt-Beispielcodes

1. Effekt-HTML senden <div id="senden-btn...

So zeigen Sie den Typ des gemounteten Dateisystems in Linux an

Vorwort Wie Sie wissen, unterstützt Linux viele D...