So verwenden Sie wangEditor in Vue und erhalten durch Echo von Daten den Fokus

So verwenden Sie wangEditor in Vue und erhalten durch Echo von Daten den Fokus

Bei der Hintergrundverwaltung von Projekten werden häufig Rich-Text-Editoren verwendet. Hier empfehle ich Ihnen den sehr benutzerfreundlichen wangEditor .

asdfz34567

Erster Schritt der Installation

npm ich wangeditor --save

Der zweite Schritt besteht darin, es im Projekt zu verwenden

html

Unten auf der Seite können Sie das Layout bearbeiten und hinzufügen.

<div id="div1">
    <p>Willkommen beim Rich-Text-Editor <b>wangEditor</b></p>
</div>

<el-button type="primary" @click="createData()">Anforderung erstellen</el-button>
<el-button size="mini" @click="createData(index, row, true)">Bearbeiten</el-button>
importiere E von 'wangeditor' // Plugin importieren const editor = null
// oder const editor = new E( document.getElementById('div1') )
Daten() {
	zurückkehren {
		Dialogformular: {
	        ID: null,
	        Abteilungs-ID: '',
	        systemConfigId: '',
	        Titel: '',
	        Beschreibung: '',
	        Prioritätsstufe: '',
	        Datei-URL: ''
	      },
      },
},
Methoden: {
    initEditor() {
      if (Herausgeber) return
      Editor = neues E('#div1')
      // Benutzerdefinierte Menükonfiguration editor.config.menus = [
        'head', // Titel'bold', // fett'fontSize', // Schriftgröße'fontName', // Schriftart'italic', // kursiv'underline', // Unterstrichen'strikeThrough', // Durchgestrichen'foreColor', // Textfarbe'backColor', // Hintergrundfarbe'link', // Link einfügen'list', // Liste'justify', // Zitat'image', // Bild einfügen'table', // Tabelle'code', // Code einfügen'undo', // Rückgängig machen'redo' // wiederholen]
      editor.config.onchange = (html) => { // Inhalt im Editor console.log(html, 'content')
        this.dialogForm.description = html // Weisen Sie den in den Daten definierten Wert zu}

      editor.config.customUploadImg = (files, insert) => { // Bild im Rich Text hochladen const param = new FormData()
        param.append('Datei', Dateien[0])
        requireManage.updateOther(param).then((res) => { // Bild hochladen interfaceif (res.data) {
            einfügen(res.data[0])
          }
        })
      }
      editor.create() // Mit Rich Text erstellen},
    createData( row, edit) { // Anzeige erstellen oder bearbeiten this.dialogVisible = true
      this.$nextTick(() => { // Verwenden Sie this.$nextTick, um den Fokus zu erhalten this.$refs['dialogForm'].resetFields()
        this.initEditor() // Rufen Sie die oben beschriebene Methode auf editor.txt.html('') // Löschen Sie den Inhalt des Rich-Texts if (edit) { // Wenn es sich um eine Bearbeitung handelt, fahren Sie mit dem nächsten Schritt fort this.dialogForm = JSON.parse(JSON.stringify(row)) // Echodaten this.dialogForm.id = row.id
          editor.txt.html(this.dialogForm.description) //Echodaten in Rich Text einfügen}
      })
    },
 }

Siehe das Bild unten

Der Fokus wurde ursprünglich erfasst, aber er war nicht im Fokus, als ich den Screenshot gemacht habe, und Sie können den Fokus auf dem Bild nicht sehen

dsfgcv12345

html

<el-Zeile>
	<el-dialog top="50px" :title="titleType == 1 ? 'Frage hinzufügen' : 'Frage bearbeiten'" :visible.sync="dialogVisible" width="50%" @close="closeDialog">
      <div>
        <el-form ref="dialogFormular" :model="dialogFormular" :rules="dialogRegeln" label-width="100px">
          <el-form-item label="Abteilung" prop="Abteilungs-ID">
            <el-select v-model="dialogForm.departmentId" placeholder="Bitte wählen Sie eine Abteilung">
              <el-option v-for="Artikel in erforderlicher Abteilung" :key="Artikel-ID" :label="Artikel-Abteilungsname" :value="Artikel-ID" />
            </el-Auswahl>
          </el-form-item>
          <el-form-item label="System auswählen" prop="systemConfigId">
            <el-select v-model="dialogForm.systemConfigId" placeholder="Bitte wählen Sie ein System">
              <el-option v-for="Artikel in systemArr" :key="Artikel.id" :label="Artikel.name" :value="Artikel.id" />
            </el-Auswahl>
          </el-form-item>
          <el-form-item label="Titel" prop="Titel">
            <el-input v-model="dialogFormular.title" />
          </el-form-item>
          <el-form-item label="Beschreibung" prop="Beschreibung">
            <div id="Beschreibung" style="Breite: 100%" />
          </el-form-item>
          <el-form-item label="Prioritätsstufe" prop="priorityLevel">
            <el-select v-model="dialogForm.priorityLevel" placeholder="Bitte wählen Sie die Prioritätsstufe">
              <el-option label="Hoch" :Wert="3" />
              <el-option label="Zwei" :value="2" />
              <el-option label="Niedrig" :Wert="1" />
            </el-Auswahl>
          </el-form-item>
          <el-form-item label="Anhang hochladen">
            <el-upload action="/fms/api/productDev/updateOther" >
              <el-button size="small" type="primary">Zum Hochladen klicken</el-button>
            </el-upload>
          </el-form-item>
        </el-form>
      </div>
      <span slot="Fußzeile" class="dialog-footer">
        <el-button type="primary">Senden</el-button>
      </span>
    </el-dialog>
 </el-row>

Dies ist das Ende dieses Artikels über die Verwendung von wangEditor in vue und wie man den Fokus durch Echo von Daten erhält. Weitere relevante Inhalte zur Verwendung von vue wangEditor finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Details zum Schreiben von React in einem Vue-Projekt
  • Vue+Element implementiert Dropdown-Menü mit lokaler Suchfunktion – Beispiel
  • Vergleich der Vorteile von vue3 und vue2
  • Vue realisiert einen dynamischen Fortschrittsbalkeneffekt
  • Vue implementiert einen dynamischen kreisförmigen prozentualen Fortschrittsbalken
  • Vue realisiert den Prozentbalkeneffekt
  • So implementieren Sie verschiebbare Komponenten in Vue
  • Acht Möglichkeiten zur Implementierung von Kommunikation in Vue

<<:  Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse

>>:  Installation von Ubuntu 18.04 meldet: ldlinux.c32 konnte nicht geladen werden und die Lösungsschritte dazu sind fehlgeschlagen

Artikel empfehlen

Native JS-Drag-and-Drop-Funktion zum Erstellen eines Slider-Beispielcodes

Drag & Drop ist eine gängige Funktion im Fron...

Detailliertes Verständnis des Lebenszyklusvergleichs zwischen Vue2 und Vue3

Inhaltsverzeichnis Zyklusvergleich Verwendung Zus...

Mysql NULL verursachte die Grube

Verwenden von NULL in Vergleichsoperatoren mysql&...

Detaillierte Schritte zum Einrichten eines Nexus-Servers

1. Die Bedeutung des Aufbaus eines Nexus-Dienstes...

CSS Zurück zum Anfang Codebeispiel

Die meisten Websites haben heutzutage lange Seite...

Tutorial zur Konfiguration der kostenlosen MySQL-Installationsversion

In diesem Artikel wird das kostenlose MySQL-Insta...

Tutorial zum binären Suchbaumalgorithmus für JavaScript-Anfänger

Inhaltsverzeichnis Was ist ein binärer Suchbaum (...

So installieren Sie MySQL in Docker

Ich habe kürzlich Django bereitgestellt und wollt...