Anforderung: Bei der Anzeige von Daten in einer Liste müssen viele Informationen angezeigt werden, wodurch die Tabelle horizontal sehr lang wird. Die Anzeige ist nicht klar genug und Benutzer haben möglicherweise das Gefühl, dass sie bei der Verwendung die wichtigsten Punkte nicht erfassen können. Stellen Sie sich eine Implementierung vor: Der Benutzer wählt manuell aus, ob die Spalten der Tabelle ausgeblendet oder angezeigt werden sollen. Der Auswahlstatus des Benutzers wird aufgezeichnet und bleibt beim nächsten Aufrufen der Tabelle durch den Benutzer erhalten. Das Wirkungsdiagramm sieht wie folgt aus: Original: Deaktivieren Sie die Standardeinstellung, wenn Sie sie nicht benötigen: Implementierungscode: <el-popover placement="rechts" title="Spaltenfilter" trigger="klick" width="420"> <el-checkbox-group v-model="checkedColumns" size="mini"> <el-checkbox v-for="Element in CheckBoxGroup" :key="Element" :label="Element" :value="Element"></el-checkbox> </el-checkbox-group> <el-button slot="reference" type="primary" size="small" plain><i class="el-icon-arrow-down el-icon-menu" />Listenelement-Anzeigefilter</el-button> </el-popover> <el-table :data="Anwesenheitsliste" @sort-change="sort" highlight-current-row :row-class-name="Ferienzeile" @selection-change="Alles bearbeiten" ref="multipleTable"> <el-table-column Typ="Auswahl" Breite="55" Ausrichtung="Mitte"></el-table-column> <el-table-column label="Grundlegende Informationen zu Mitarbeitern"> <el-table-column v-if="colData[0].istrue" align="center" prop="user_id" label="Arbeitsnr." width="80" fest></el-table-column> <el-table-column v-if="colData[1].istrue" align="center" prop="name" label="Anzahl" width="80" fixed></el-table-column> <el-table-column v-if="colData[2].istrue" align="center" prop="Alter" label="Alter" width="60"></el-table-column> <el-table-column v-if="colData[3].istrue" align="center" prop="gender" label="Geschlecht" width="80"></el-table-column> <el-table-column v-if="colData[4].istrue" align="center" prop="department" label="Abteilungsname" width="100"></el-table-column> </el-Tabellenspalte> ...... Der Datenteil, in dem JS-Daten gespeichert werden //Liste dynamisch ausblenden colData: [ { title: "Arbeitsnummer", istrue: true }, { Titel: "Name", istrue: true }, { title: "Alter", istrue: true }, { title: "Geschlecht", istrue: true }, { title: "Abteilungsname", istrue: true }, ], checkBoxGroup: [], geprüfte Spalten: [], Teil der Implementierung der js-Methode erstellt() { // Spaltenfilterung this.colData.forEach((item, index) => { dies.checkBoxGroup.push(item.title); dies.checkedColumns.push(item.title); }) diese.checkedColumns = diese.checkedColumns let UnData = localStorage.getItem(this.colTable) UnData = JSON.parse(UnData) if (UnData != null) { this.checkedColumns = this.checkedColumns.filter((item) => { gibt !UnData.includes(Element) zurück }) } }, // Überwachungsspalte ausblenden watch: { geprüfteSpalten(Wert,Wert) { let arr = this.checkBoxGroup.filter(i => !val.includes(i)); // Nicht aktiviert localStorage.setItem(this.colTable, JSON.stringify(arr)) dies.colData.filter(i => { wenn (arr.indexOf(i.title) != -1) { i.istrue = falsch; } anders { i.istrue = wahr; } }); } }, Dadurch wird es möglich und der ausgewählte Status wird beim Aktualisieren der Seite aufgezeichnet. Ursprünglich wollte ich ein Auswahlfeld „Alles auswählen“ hinzufügen, aber es wurde letztendlich nicht implementiert. Lassen Sie es uns zunächst auf diese Weise verwenden. Aber es muss einen besseren Weg geben. Ich werde es nach der Optimierung aktualisieren ~ Damit ist dieser Artikel über den Beispielcode zur Implementierung der dynamischen Spaltenfilterung in der Vue+Elementtabelle abgeschlossen. Weitere Inhalte zur dynamischen Spaltenfilterung in der Elementtabelle finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Einfaches Anwendungsbeispiel für eine rekursive Vue-Komponente
>>: Zwei Möglichkeiten zum Einführen von SVG-Symbolen in Vue
Inhaltsverzeichnis 1. Verwenden Sie die Komponent...
In der neuesten Version von WIN10 hat Microsoft e...
1. Ich habe ein VPS- und CentOS-System gekauft un...
Heute Wählen Sie * aus Tabellenname, wobei to_day...
Inhaltsverzeichnis 1. Grundvoraussetzungen für di...
Die Installations- und Konfigurationsmethode der ...
1. Flex ist die Abkürzung für Flexible Box, was „...
Fehlerbeschreibung: 1. Nach der Installation von ...
Inhaltsverzeichnis 1. Vorbereitung vor der Instal...
Inhaltsverzeichnis Ursache des Vorfalls Verwenden...
1. Im Allgemeinen ist MariaDB in CentOS standardm...
1. Nginx-Installationsschritte 1.1 Offizielle Web...
Um zwei verschiedene Tabellen abzufragen, müssen ...
Inhaltsverzeichnis Vorwort Text Parameter Beispie...
Pessimistische Sperre Pessimistische Sperre, betr...