Das auf vue2.0 basierende Element-UI-Framework ist sehr benutzerfreundlich und eignet sich sehr gut für eine schnelle Entwicklung. Bei der Durchführung Ihrer eigenen Projekte werden Sie jedoch immer noch auf verschiedene Probleme stoßen. Die offizielle Dokumentation zu einigen Problemen ist nicht sehr detailliert. Im Folgenden finden Sie einige Hinweise zu einigen häufigen Problemen oder Problemen, die bei der Verwendung von Element-UI aufgetreten sind. 1. DateTimePicker Datumsauswahlbereich ist die aktuelle Zeit und vor der aktuellen Zeit<Vorlage> <div> <el-Datumsauswahl Größe="klein" löschbar :picker-options="Picker-Optionen" v-Modell="Datumsbereich" Typ="Datumsbereich" Werteformat="jjjj-MM-tt" Bereichstrennzeichen = "bis" start-placeholder="Startdatum" end-placeholder="Enddatum"></el-date-picker> </div> </Vorlage> <Skript> Standard exportieren { Daten () { zurückkehren { pickerOptions: { disabledDate (Zeit) { Zeit zurückgeben.getTime() > Date.now() } }, Datumsbereich: [] } } } </Skript> Es gibt eine weitere Situation, in der Sie nur die Zeit nach der aktuellen Zeit auswählen können, einschließlich Stunden, Minuten und Sekunden. Wenn die ausgewählte Zeit kleiner als die aktuelle Zeit ist, wird sie automatisch mit den aktuellen Stunden, Minuten und Sekunden ausgefüllt. Zu diesem Zeitpunkt können Sie „watch“ verwenden, um Eigenschaften oder Ereignisse zu überwachen und damit umzugehen. <Vorlage> <div> <el-date-picker Größe="klein" löschbar Typ="Datumsbereich" v-model="Datumsbereich" :picker-options="Picker-Optionen" Werteformat="jjjj-MM-tt" Bereichstrennzeichen = "bis" start-placeholder="Startdatum" end-placeholder="Enddatum"></el-date-picker> </div> </Vorlage> <Skript> Standard exportieren { Daten () { zurückkehren { pickerOptions: { disabledDate (Zeit) { Rückgabewert: Zeit.getTime() < Date.now() - 1 * 24 * 3600 * 1000 } }, Datumsbereich: [] } }, betrachten: dateRange (val) { //Dies kann auch durch ein Änderungsereignis ersetzt werden var st = new Date(val) * 1000 / 1000 wenn (st < Datum.jetzt()) { this.dateRange = neues Datum() } } } } </Skript> 2. Aufteilen des DateTimePicker-Datumsauswahlbereichs-ArraysIm Projekt aufgetretene Anforderungen: Das an den Datumswähler vom Typ „daterange“ gebundene Wertdatum ist ein Array, aber die vom Backend empfangenen Parameter für Startdatum und Enddatum sind getrennt, und die während des Echos zurückgegebenen Daten sind ebenfalls getrennt Erstellen Sie die Datei arrayUtil.js // arrayUtil.js /** * @description Sicheres Abrufen der Indexdaten, die dem Array entsprechen* @param { Array } arr * @param { int } Index */ exportiere const saveGet = (arr, index) => { wenn(arr & Array.isArray(arr)) { gibt arr[index] zurück; } anders { Rückgabe undefiniert; } } Importieren und Aufrufen einer .vue-Datei // .vue fileimport { saveGet } von './utils/arrayUtil'; <el-Datumsauswahl Typ="Datumsbereich" v-Modell="Datum" Werteformat="jjjj-mm-tt" Format="jjjj-mm-tt" start-placeholder="Startdatum" end-placeholder="Enddatum" Stil="width: 100%;"></el-date-picker> Standard exportieren { Daten() { zurückkehren { Datum: [] // Datumsbereich} }, // Berechnen Sie die an das Backend übergebenen Parameter (aufgeteiltes Datumsbereichs-Array) berechnet: { queryParams() { zurückkehren { ... ... vonDatum: saveGet(this.form.date, 0), toDate: saveGet(dieses.Formular,Datum, 1), ... ... }; } }, } Beim Echo fügen Sie einfach das vom Backend zurückgegebene FromDate und ToDate zu einem Array zusammen. 3. Der Wert/die Bezeichnung der el-select-Selektoroptionen wird gespleißt<el-select placeholder="Bitte auswählen" style="width:100%" filterbar v-model="info" löschbar > <el-Option v-for="Element in Infoliste" :Schlüssel="info.id" :label="`Name: ${item.name} - ID-Nr.: ${item.idNo}`" :Wert="Artikel-ID"> <span style="float: left">{{ Artikel.Tabellenname }}</span> {{ Artikel.Ebene }}</span> </el-Option> </el-Auswahl> Das obige v-model="info" ist die ausgewählte Benutzer-ID, die vom Backend zurückgegeben wird, infoList sind die Informationen aller Benutzer, label ist die Verkettung von Benutzername - Benutzer-ID-Nr. Beim Echo einfach abgleichen und filtern und dann verketten und anzeigen. Die Anzeige sieht wie folgt aus: 4. Die übergeordnete und untergeordnete Komponente des El-Dialogs überträgt den Wert und beim Schließen des El-Dialogs tritt ein Fehler aufBeim zweiten Einkapseln von el-dialog tritt beim Schließen des Dialogs der folgende Fehler auf Der spezifische Code lautet wie folgt: // Übergeordnete Komponente <el-button type="primary" size="mini" @click="dialogVisible=true">Hinzufügen</el-button> <com-dialog :dialogVisible.sync="dialogVisible" @closeDialog="closeDialog"></com-dialog> // Unterkomponente <template> <el-dialog title="Neu" :visible.sync="dialogSichtbar" @close="closeDialog"> </Vorlage> <Skript> Standard exportieren { Requisiten: { dialogSichtbar: { Typ: Boolean, Standard: false } }, Methoden:{ //Dialog schließen Dialog schließen(){ dies.$emit('update:closeDialog', false); } }, }; </Skript> Der Grund für den Fehler liegt darin, dass das Abschlussereignis der untergeordneten Komponente mit dem Abschlussereignis der übergeordneten Komponente in Konflikt steht. Die Props-Eigenschaft der untergeordneten Komponente muss von der übergeordneten Komponente gesteuert werden, und der sichtbare Wert kann nicht direkt geändert werden. Der Synchronisierungsmodifikator entspricht hier dem El-Dialog, der den Wert der übergeordneten Komponente direkt ändert. Entfernen Sie also einfach die .sync-Datei der übergeordneten und der untergeordneten Komponente. Eine andere Möglichkeit besteht darin, die Close-Methode in Before-Close zu ändern. Der spezifische Code lautet wie folgt: // Übergeordnete Komponente <el-button type="primary" size="mini" @click="dialogVisible=true">Hinzufügen</el-button> <com-dialog :dialogVisible.sync="dialogVisible" @closeDialog="closeDialog"></com-dialog> // Unterkomponente <template> <el-dialog title="Neu" :visible.sync="dialogVisible" :before-close="closeDialog"> </Vorlage> <Skript> Standard exportieren { Requisiten: { dialogSichtbar: { Typ: Boolean, Standard: false } }, Methoden:{ //Dialog schließen Dialog schließen(){ dies.$emit('closeDialog', false); } }, }; </Skript> 5. Anpassung der Beschriftung für el-form-itemEs ist erforderlich, Eingabeaufforderungstext in die Beschriftung des Formulars einzufügen. Die spezifischen Anzeigeanforderungen lauten wie folgt: In der API-Dokumentation verfügt der Formularelement-Slot über ein Label-Attribut, das zum Anpassen des Inhalts des Label-Textes verwendet wird. Die Implementierung ist wie folgt: <el-form-item prop="name"> <span slot="Bezeichnung"> Benutzername<i>(Buchstaben, Zahlen und Sonderzeichen werden unterstützt)</i> </span> <el-input v-Modell="Name"></el-input> </el-form-item> Passen Sie dann Schriftart und Farbe entsprechend dem Stil an. 6. el-input verwendet Clearable, um Inhalte zu löschen und eine Bestätigungsaufforderung auszulösenDer el-input des Formulars verfügt über eine Eingabevalidierung und der Auslösemodus ist „unscharf“. Wenn zum Löschen des Inhalts „clearable“ verwendet wird, wird die Validierungsaufforderung nicht ausgelöst. Das Dokument stellt eine Methode focus() für el-input bereit, die beim Löschen des Inhalts aufgerufen wird. Wenn der Fokus verloren geht, wird eine Überprüfung ausgelöst. Die konkrete Umsetzung sieht wie folgt aus: <el-input placeholder="Bitte eingeben" v-model="form.name" clearable ref="nameRef" @clear="clearInput('nameRef')"></el-input> // Formularinhalt löschen event clearInput (refName) { dies.$refs[refName].focus() } Oben finden Sie eine detaillierte Zusammenfassung der Probleme, die bei der Verwendung von Vue Element UI auftreten. Weitere Informationen zu Vue Element UI finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Der Unterschied zwischen MySQL-Datenbankhost 127.0.0.1 und localhost
>>: Nginx führt Anforderungsverbindungen zusammen und beschleunigt den Website-Zugriff – Beispiele
Inhaltsverzeichnis Ziel Gedankenanalyse Code-Land...
In diesem Experiment konfigurieren wir die standa...
Vorwort Dieses Steuerelement weist beim direkten ...
Inhaltsverzeichnis Text LOCK-Parameter ALGORITHMU...
Detaillierte Erklärung und Zusammenfassung der UR...
CSS-Benennungsregeln Header: Header Inhalt: Inhalt...
Nginx-Installation Stellen Sie sicher, dass die v...
Mit der Verbreitung von 3G nutzen immer mehr Mens...
Inhaltsverzeichnis 1 Installieren Sie Docker im B...
Inhaltsverzeichnis 1 Unterschied 1.1 Raumbelegung...
Inhaltsverzeichnis Abhängigkeiten installieren Bo...
Inhaltsverzeichnis Verschachtelung Kommunikation ...
Referenzdokumentation Offizielle Docker-Installat...
Häufig ignorieren wir beim Erstellen der Homepage ...
Inhaltsverzeichnis Nachfragehintergrund Warum Ngi...