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

Teilen Sie einige wichtige Interviewfragen zum MySQL-Index

Vorwort Ein Index ist eine Datenstruktur, die ein...

So optimieren Sie den MySQL-Deduplizierungsvorgang maximal

Inhaltsverzeichnis 1. Clevere Verwendung von Indi...

Detaillierte Einführung in das CSS-Prioritätswissen

Bevor wir über die CSS-Priorität sprechen, müssen...

Implementierungsprinzip und Nutzungsanalyse des Apache Bench-Stresstest-Tools

1: Durchsatz (Anfragen pro Sekunde) Eine quantita...

vite2.x implementiert das On-Demand-Laden von Ant-Design-Vue@next-Komponenten

1. Version verwenden vite:2.0 Ant-Design-Vue: 2.0...

Detaillierter Prozess zum Erstellen von mysql5.7.29 unter Centos7 von Linux

1. MySQL herunterladen 1.1 Download-Adresse https...

Der Unterschied zwischen HTML-Block-Level-Tags und Inline-Tags

1. Blockebenenelement: bezieht sich auf die Fähigk...

So erstellen Sie ein CentOS-Basisimage

Vorwort Derzeit ist das von meiner Firma verwende...

Installation von CUDA10.0 und Probleme in Ubuntu

Die Entsprechung zwischen der Tensorflow-Version ...

So verfolgen Sie Benutzer mit JS

Inhaltsverzeichnis 1. Synchrones AJAX 2. Asynchro...

Löschen von Dateien mit Leerzeichen in Linux (keine Verzeichnisse)

In unserer täglichen Arbeit kommen wir oft mit Da...