Vue verwendet el-table, um Spalten und Zeilen dynamisch zusammenzuführen

Vue verwendet el-table, um Spalten und Zeilen dynamisch zusammenzuführen

In diesem Artikelbeispiel wird der spezifische Code von Vue mit el-table zum dynamischen Zusammenführen von Spalten und Zeilen zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Die Formularzusammenführung wurde vor einigen Tagen im Projekt benötigt, daher habe ich sie hier zur zukünftigen Verwendung aufgezeichnet.

Zuerst verwende ich el-table in element-ui. Das Dokument bietet die span-method-Methode zum Zusammenführen von Zeilen oder Spalten. Wenn Sie damit nicht vertraut sind, können Sie die Adresse des Elementdokuments überprüfen. Die im Dokument bereitgestellten Beispiele sind jedoch sehr einfach und können den Anforderungen komplexer Seiten nicht gerecht werden. Sie müssen daher die Daten verarbeiten.

Der folgende Code:

getListDataForRowAndColumn(Daten){
            lass self = dies;
            selbst.ZeileUndSpalte = [];
            selbst.rowRoomColumn = [];
            für (var i = 0; i < Datenlänge; i++) {
                wenn (i === 0) {
                    // Wenn es der erste Datensatz ist (d. h. wenn der Index 0 ist), addiere 1 zum Array
                    self.rowAndColumn.push(1);
                    selbst.pos = 0;
                    self.rowRoomColumn.push(1);
                    selbst.posT = 0;
                } anders {
                    //data[i].typeDesc sind die Feldinformationen, die Sie aus der Schnittstelle lesen. Das Gleiche gilt unten, wenn (data[i].typeDesc === data[i - 1].typeDesc) {
                        // Wenn typeDesc gleich ist, addiere und pushe 0
                        self.ZeileUndSpalte[self.pos] += 1
                        selbst.rowAndColumn.push(0)
                        wenn (data[i].areaDesc === data[i - 1].areaDesc) {
                            // Wenn areaDesc gleich ist, addiere und pushe 0
                            self.rowRaumSpalte[self.posT] += 1
                            selbst.rowRoomColumn.push(0)
                        } anders {
                            selbst.rowRoomColumn.push(1)
                            selbst.posT = i
                        }
                    } anders {
                        // Ungleich Push 1
                        selbst.rowAndColumn.push(1)
                        selbst.pos = i;
                        selbst.rowRoomColumn.push(1)
                        selbst.posT = i
                    }
                }
            }
        },

Der obige Code dient zum Organisieren Ihrer Daten. Die Kommentare sind sehr klar. Ich glaube, jeder kann sie verstehen. Wenn Sie sie wirklich nicht verstehen, drucken Sie sie einfach aus und schauen Sie sie sich an.

Nach der Aufbereitung der Daten wird die oben beschriebene Span-Methode angewendet. Wie in der Abbildung gezeigt:

Die Methode objectSpanMethod lautet wie folgt:

objectSpanMethod({ Zeile, Spalte, Zeilenindex, Spaltenindex }) {
            lass selbst = dies
            wenn (SpaltenIndex === 1) {
                wenn (self.rowAndColumn[rowIndex]) {
                Lassen Sie rowNum = self.rowAndColumn[rowIndex];
                zurückkehren {
                    Zeilenspanne: Zeilennummer,
                    colspan: Zeilennummer > 0 ? 1 : 0
                    }                                                   
                }
                zurückkehren {
                    Zeilenspanne: 0,
                    Spaltenbreite: 0
                }  
            }
            wenn (SpaltenIndex === 2) {
                wenn (self.rowRoomColumn[rowIndex]) {
                let roomNum = self.rowRoomColumn[rowIndex];
                zurückkehren {
                    Zeilenbereich: Raumnummer,
                    colspan: Zimmernummer > 0 ? 1 : 0
                    }                                                   
                }
                zurückkehren {
                    Zeilenspanne: 0,
                    Spaltenbreite: 0
                }  
            }
        },

Fertig, schauen wir uns das Effektbild an

Beachten Sie, dass bei dieser Methode das Backend die Daten vor dem Versenden sortieren muss, da die Seite sonst möglicherweise nicht den gewünschten Effekt erzielt. Da ich mit dem Zusammenführen ab der zweiten Spalte begonnen habe, beginnt der columnIndex in der Methode objectSpanMethod bei 1. Sie können ihn entsprechend Ihrer tatsächlichen Situation ändern. Fügen Sie die von der Schnittstelle erhaltenen Daten in die Methode getListDataForRowAndColumn ein und denken Sie daran, rowAndColumn und rowRoomColumn zu definieren.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Beispielcode für benutzerdefinierte Kopfzeilen und Zeilenzusammenführung in der Vue ElementUI-Tabelle
  • Vue realisiert den Effekt des Zusammenführens von Spalten im Zeilenbereich einer Datentabelle
  • Vue realisiert das Zusammenführen derselben Daten in einem Array
  • Vue.js implementiert Beispielcode zum Zusammenführen von Tabellen
  • Antd Vue Table führt Zellen über Zeilen hinweg zusammen und passt Inhaltsinstanzen an
  • In Vue führt die Element-UI-Tabelle dieselben Datenzellen in den oberen und unteren Zeilen zusammen
  • Implementierung der Zusammenführung mehrerer Spalten von Vue-Zellen
  • Vue verbindet Zellen dynamisch und fügt Zwischensummen hinzu – Beispielfunktion
  • require.js lädt Vue-Komponente, r.js zusammengeführtes und komprimiertes Beispiel
  • Vue Elenent realisiert das Zusammenführen gleicher Datenspalten in der Tabelle

<<:  Welche Beziehung besteht zwischen Mapper-SQL-Anweisungsfeldern und Entitätsklassen-Attributnamen?

>>:  Best Practices für die Bereitstellung des ELK7.3.0-Protokollsammlungsdienstes mit Docker

Artikel empfehlen

Warum Entwickler Datenbanksperren im Detail verstehen müssen

1.Sperren? 1.1 Was ist ein Schloss? Die eigentlic...

CentOS 7 - Lösungsprozessdiagramm für vergessene Passwörter

brauchen Unabhängig davon, ob es sich um ein Wind...

Detailliertes Tutorial zur Verwendung des Plugins tomcat8-maven-plugin in Maven

Ich habe viele Artikel online durchsucht, aber ke...

Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)

Die Rewrite-Funktion von Nginx unterstützt regelm...

Detaillierte Erläuterung der MySQL-Existes- und Not-Existes-Beispiele

Detaillierte Erläuterung der MySQL-Existes- und N...

Binäre Installation von MySQL 5.7.23 unter CentOS7

Die Installationsinformationen im Internet sind u...

Vue.js verwendet Element-ui, um das Navigationsmenü zu implementieren

In diesem Artikel wird der spezifische Code zur I...

Zusammenfassung häufig verwendeter MySQL-Befehle im Linux-Betriebssystem

Hier sind einige gängige MySQL-Befehle für Sie: -...

MySQL ruft die aktuelle Datums- und Uhrzeitfunktion ab

Holen Sie sich das aktuelle Datum + die aktuelle ...

Implementierung des Docker View Container Log-Befehls

Warum sollten wir das Protokoll lesen? Wenn beisp...