Zusammenfassung von 10 erstaunlichen Tricks von Element-UI

Zusammenfassung von 10 erstaunlichen Tricks von Element-UI

el-scrollbar Bildlaufleiste

Kommt Ihnen diese Komponente unbekannt vor? Das stimmt, denn sie ist nie auf der offiziellen Website von Element erschienen (wahrscheinlich aufgrund von Leistungsproblemen). Aber wie kann man etwas Gutes verbergen? Hier sind die Renderings.

Ist es nicht viel schöner als die native Bildlaufleiste? Die Verwendungsmethode ist auch sehr einfach:

<el-Bildlaufleiste>
  <div Klasse="Box">
    <p v-for="item in 15" :key="item">Willkommen bei der Verwendung der el-scrollbar {{item}}</p>
  </div>
</el-scrollbar>

<Stilbereich>
.el-scrollbar {
  Rand: 1px durchgezogen #ddd;
  Höhe: 200px;
}
.el-scrollbar :: v-tief .el-scrollbar__wrap {
    Überlauf-y: scrollen;
    Überlauf-x: versteckt;
  }
</Stil>

Solange die Höhe des inneren Felds der Bildlaufleiste die Höhe der Bildlaufleiste überschreitet, wird eine Bildlaufleiste angezeigt, und dasselbe gilt für die horizontale Bildlaufleiste.

el-upload simuliert Klick

Manchmal möchten wir die Upload-Funktion von el-upload verwenden, aber nicht den Stil von el-upload. Wie lässt sich das erreichen? Die Methode ist auch sehr einfach: Verstecken Sie einfach den el-Upload und simulieren Sie dann einen Klick.

<button @click="handleUpload">Datei hochladen</button>
<el-hochladen
  v-show="falsch"
  Klasse="Upload-Ressource"
  mehrere
  Aktion=""
  :http-request="KlickDatei hochladen"
  ref="hochladen"
  :on-success="Upload erfolgreich"
>
    Lokale Dateien hochladen</el-upload>

<Skript>
Standard exportieren {
    Methoden: {
        //Klick simulieren handleUpload() {
            document.querySelector(".upload-resource .el-upload").klick()
        },
        // Datei asynchron hochladen clickUploadFile(file) {
            const formData = new FormData()
            formData.append('Datei', Datei.Datei)
            const res = warte auf api.post(`xxx`, formData)
        }
        // Nachdem der Upload erfolgreich war, lösche die integrierte Dateiliste der Komponente uploadSuccess() {
            dies.$refs.upload.clearFiles()
        }
    }
}
</Skript>

Die Optionen der Dropdown-Box „el-select“ sind zu lang

Der Inhalt des Dropdown-Felds ist oft unkontrollierbar. Wenn die Optionen im Dropdown-Feld zu lang sind, führt dies zwangsläufig zu einer sehr inkonsistenten Seite. Die Lösung besteht darin, die einzelne Zeile wegzulassen und eine Textaufforderung hinzuzufügen.

<el-select popper-class="popper-class" :popper-append-to-body="false" v-model="value" placeholder="Bitte auswählen">
    <el-Option
      v-for="Element in Optionen"
      :Schlüssel="Artikel.Wert"
      :label="Artikel.label"
      :Wert="Artikel.Wert"
    >
        <el-tooltip
          Platzierung="oben"
          :deaktiviert="Artikelbezeichnungslänge<17"
        >
            <div Slot="Inhalt">
                <span>{{item.label}}</span>
            </div>
            <div class="iclass-text-ellipsis">{{ Element.label }}</div>
        </el-tooltip>
    </el-Option>
</el-Auswahl>

<Skript>
  Standard exportieren {
    Daten() {
      zurückkehren {
        Optionen: [{
          Wert: 'Option 1',
          Etikett: „Goldener Kuchen, goldener Kuchen, goldener Kuchen, goldener Kuchen, goldener Kuchen, goldener Kuchen, goldener Kuchen, goldener Kuchen, goldener Kuchen“
        }, {
          Wert: 'Option 2',
          Etikett: ‚Doppelhautmilch, Doppelhautmilch, Doppelhautmilch, Doppelhautmilch, Doppelhautmilch, Doppelhautmilch, Doppelhautmilch, Doppelhautmilch‘
        }, {
          Wert: 'Option 3',
          Etikett: ‚AusternomelettAusternomelettAusternomelettAusternomelettAusternomelettAusternomelettAusternomelettAusternomelett‘
        }],
        Wert: ''
      }
    }
  }
</Skript>

<Stilbereich>
.el-Auswahl {
  Breite: 300px;
}
.el-select ::v-deep .popper-Klasse {
  Breite: 300px;
}
.iclass-text-ellipsis {
  Leerzeichen: Nowrap;
  Überlauf: versteckt;
  Textüberlauf: Auslassungspunkte;
}
</Stil>

Die Wirkung ist wie folgt:

el-input darf am Anfang und Ende keine Leerzeichen enthalten

Wenn wir das Eingabefeld verwenden, möchten wir meistens nicht, dass Benutzer davor und danach Leerzeichen eingeben. Gibt es eine einfache Möglichkeit, dies zu überprüfen? Natürlich gibt es die.

<el-form :rules="Regeln" :model="Formular" label-width="80px">
    <el-form-item label="Aktivitätsname" prop="name">
        <el-input v-model="form.name"></el-input>
    </el-form-item>
</el-form>

<Skript>
Standard exportieren {
    Daten() {
        zurückkehren {
            bilden: {
                Name: ''
            },
            Regeln:
                Name: [
                        { erforderlich: true, Nachricht: ‚Bitte geben Sie den Aktivitätsnamen ein‘, Auslöser: ‚unscharf‘},
                        { Muster: /^(?!\s+).*(?<!\s)$/, Nachricht: 'Das erste und das letzte Leerzeichen dürfen nicht', Auslöser: 'unscharf' }
                ]
            }
        }
    }
}
</Skript>

Die Wirkung ist wie folgt:

el-input type=number Chinesische Zeichen eingeben und Fokus nach oben verschieben

Wenn el-input auf Typ „Zahl“ eingestellt ist, werden bei der Eingabe keine chinesischen Schriftzeichen angezeigt, aber der Fokus wird nach oben verschoben.

Lösung:

<Stilbereich>
::v-tief .el-input__inner {
    Zeilenhöhe: 1px !wichtig;
}
</Stil>

el-input type=number entfernt die Auf- und Ab-Pfeile bei Fokussierung

Lösung:

<el-input Klasse = "clear-number-input" Typ = "Nummer"></el-input>

<Stilbereich>
.clear-number-input ::v-deep input[Typ="Nummer"]::-webkit-outer-spin-button,
.clear-number-input ::v-deep input[Typ="Nummer"]::-webkit-inner-spin-button {
    -webkit-apperance: keines !wichtig;
}
</Stil>

el-form prüft nur ein Feld im Formular

Manchmal müssen wir einige Felder separat überprüfen, z. B. indem wir einen Bestätigungscode senden und die Mobiltelefonnummer separat überprüfen. Wir können dies tun:

dies.$refs.form.validateField('name', gültig => {
    if (gültig) { 
        console.log('senden!'); 
    } anders { 
        console.log('Fehler beim Senden!'); 
        gibt false zurück; 
    }
})

el-dialog öffnet das Popup-Fenster erneut und löscht die Formularinformationen

Manche Leute setzen das Formular in $nextTick zurück, wenn sie das Popup öffnen. Ich setze es jedoch nach dem Schließen des Popups zurück:

<el-dialog @closed="Form zurücksetzen">
    <el-form ref="form">
    </el-form>
</el-dialog>

<Skript>
Standard exportieren {
    Methoden: {
        Formular zurücksetzen() {
            dies.$refs.form.resetFields()
        }
    }
}
</Skript>

Die Einstellung der Eigenschaft „Destroy-on-Close“ von el-dialog ist ungültig.

Nachdem „Destroy-on-Close“ auf „True“ gesetzt wurde, wird festgestellt, dass das DOM-Element nach dem Schließen des Popup-Fensters immer noch vorhanden ist und nicht zerstört wird.
Lösung: Fügen Sie v-if zum El-Dialog hinzu.

<el-dialog :visible.sync="sichtbar" v-if="sichtbar" beim Schließen zerstören>
</el-dialog>

el-table Der Tabelleninhalt übersteigt die Auslassung

Wenn der Tabelleninhalt zu lang ist, ist es mühsam, Stile manuell hinzuzufügen. Ich verrate Ihnen insgeheim, dass Sie zur Lösung nur einen Show-Overflow-Tooltip hinzufügen müssen.

<el-table-column
  prop="Adresse"
  label="Adresse"
  Breite="180"
  Überlauf-Tooltip anzeigen
>
</el-Tabellenspalte>

Die Wirkung ist wie folgt:

Dies ist das Ende dieses Artikels mit der Zusammenfassung von 10 erstaunlichen Element-UI-Tricks. Weitere verwandte Element-Tricks finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Tipps zur Verwendung von Vue-Elementen und Nuxt
  • Einige Verwendungstipps für document.documentElement

<<:  MySQL-Reihe: Redo-Log, Undo-Log und Binlog – ausführliche Erklärung

>>:  So verwenden Sie Docker zum Erstellen eines privaten pypi-Repositorys

Artikel empfehlen

Detaillierte Erklärung zur Einstellung des Hintergrundbild-Attributs in HTML

Bei Bildern denken wir zuerst an das Hintergrundb...

Welche Szenarien sind für JS-Pfeilfunktionen nicht geeignet?

Inhaltsverzeichnis Überblick Definieren von Metho...

MySQL 8.0.12 Installations- und Konfigurations-Tutorial

Dieser Artikel enthält das ausführliche Tutorial ...

Frage zu benutzerdefinierten Attributen von HTML-Tags

In der vorherigen Entwicklung haben wir die Stand...

Erstellen Sie eine virtuelle Umgebung mit venv in Python3 in Ubuntu

1. Virtuelle Umgebung folgt dem Projekt, erstelle...

Detaillierte Schritte zum Erweitern der LVM-Festplatte unter Linux

1. Fügen Sie eine Festplatte hinzu 2. Überprüfen ...

5 einfache Möglichkeiten, Speicherplatz auf Ubuntu freizugeben

Vorwort Die meisten Benutzer führen diesen Vorgan...

So führen Sie das React-Projekt auf dem offiziellen WeChat-Konto aus

Inhaltsverzeichnis 1. Verwenden Sie das „A“-Tag, ...

MySQL-Abfrageanweisung nach Zeit gruppiert

MySQL-Abfrage nach Jahr, Monat, Woche, Tagesgrupp...

Einführung in Docker-Container

1. Übersicht 1.1 Grundlegende Konzepte: Docker is...