ProblembeschreibungIm Rahmen der Ele.me-Benutzeroberfläche liegen die Eingabedaten im El-Format und die Ausgabedaten in der El-Tabelle vor. Manchmal möchten Produkte langweilige Tabellen dynamisch gestalten, z. B. indem sie unterschiedliche Stile für unterschiedliche Inhalte anzeigen. Es gibt tatsächlich viele Möglichkeiten, diese Anforderung zu erfüllen. Dieser Artikel listet zwei davon als Referenz auf. Implementierungsmethode 1 Das Wirkungsdiagramm sieht wie folgt aus Der Code lautet wie folgt <Vorlage> <div id="app"> <!-- Voraussetzung: Zeichentabelle der Drei Königreiche, die erfordert, dass verschiedene Länder unterschiedliche Farben anzeigen (rot für Wei, schwarz für Shu, blau für Wu) --> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="name" label="Tabelle" width="180"> </el-table-column> <el-table-column prop="nation" label="Nation" width="180"> <!-- Die Idee besteht darin, die entsprechenden Daten über den Vorlagensteckplatz abzurufen. Unterschiedliche Daten werden in unterschiedlichen Farben angezeigt. Natürlich kann nur eine angezeigt werden (gesteuert durch v-if) --> <Vorlage Umfang="Umfang"> <div v-if="scope.row.nation == 'Skala'" style="color:red;font-weight:bold;">{{scope.row.nation}}</div> <div v-if="scope.row.nation == 'Skala'" style="color:black;font-weight:bold;">{{scope.row.nation}}</div> <div v-if="scope.row.nation == 'Sicht'" style="color:blue;font-weight:bold;">{{scope.row.nation}}</div> </Vorlage> </el-Tabellenspalte> <el-table-column prop="bornPlace" label="Geburtsort"> </el-table-column> </el-Tabelle> </div> </Vorlage> <Skript> Standard exportieren { Name: "App", Daten() { zurückkehren { Tabellendaten: [ { Name: "Liu Bei", Nation: "Königreich Shu", Geburtsort: „Kreis Zhuo, Kreis Zhuo (Stadt Zhuozhou, Provinz Hebei)“, }, { Name: "Cao Cao", Nation: "Wei-Staat", Geburtsort: „Kreis Qiao, Staat Pei (Stadt Bozhou, Provinz Anhui)“, }, { Name: "Sun Quan", Nation: "Staat Wu", Geburtsort: „Kreis Wujun Fuchun (Bezirk Fuyang, Stadt Hangzhou, Provinz Zhejiang)“, }, { Name: "Guan Yu", Nation: "Königreich Shu", Geburtsort: „Kreis Hedong, Kreis Jie (Stadt Jiezhou, Bezirk Yanhu, Stadt Yuncheng, Provinz Shanxi)“, }, ], }; }, }; </Skript> Methode 1 Um diese erste Methode zusammenzufassen: Obwohl sie den Effekt erzielen kann, wird der Code in el-table geschrieben, was aufgebläht aussieht. Wenn nur zwei oder drei Stile dynamisch angezeigt werden müssen, kann er geschrieben werden, aber wenn sieben oder acht oder sogar noch mehr Stile dynamisch angezeigt werden müssen, wird diese Schreibmethode sehr aufgebläht und später schwer zu warten sein. Ich persönlich empfehle die zweite Möglichkeit, nämlich die Verwendung des dynamischen Bindungsstils :style von Vue, der dies erreicht. Dadurch lässt sich nicht nur der Code vereinfachen, sondern auch umfassendere Effekte erzielen. wie folgt: Implementierungsmethode 2 Das Wirkungsdiagramm sieht wie folgt aus Der Code lautet wie folgt <Vorlage> <div id="app"> <!-- Voraussetzung: Zeichentabelle der Drei Königreiche, die erfordert, dass verschiedene Länder unterschiedliche Farben anzeigen (rot für Wei, schwarz für Shu, blau für Wu) --> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="name" label="Tabelle" width="180"> </el-table-column> <el-table-column prop="nation" label="Nation" width="180"> <!-- Die Idee besteht darin, die entsprechenden Daten über den Vorlagensteckplatz abzurufen und mithilfe der Methode „Vue Dynamic Style“ dynamisch verschiedene Farben anzuzeigen. Diese Methode ist flexibler--> <Vorlage Umfang="Umfang"> <!-- bedeutet: Binden Sie einen dynamischen Stil an dieses Div. Der Wert des Farbattributs ist der Rückgabewert der Methode getColorByNation (), sodass Sie den Rückgabewert der Methode nur über den übergebenen Bereich dynamisch festlegen müssen -> <div :style="{color:getColorByNation(scope),fontSize:getSizeByNation(scope),fontWeight:'bold'}">{{scope.row.nation}}</div> </Vorlage> </el-Tabellenspalte> <el-table-column prop="bornPlace" label="Geburtsort"> </el-table-column> </el-Tabelle> </div> </Vorlage> <Skript> Standard exportieren { Name: "App", Daten() { zurückkehren { Tabellendaten: [ { Name: "Liu Bei", Nation: "Königreich Shu", Geburtsort: „Kreis Zhuo, Kreis Zhuo (Stadt Zhuozhou, Provinz Hebei)“, }, { Name: "Cao Cao", Nation: "Wei-Staat", Geburtsort: „Kreis Qiao, Staat Pei (Stadt Bozhou, Provinz Anhui)“, }, { Name: "Sun Quan", Nation: "Staat Wu", Geburtsort: „Kreis Wujun Fuchun (Bezirk Fuyang, Stadt Hangzhou, Provinz Zhejiang)“, }, { Name: "Guan Yu", Nation: "Königreich Shu", Geburtsort: „Kreis Hedong, Kreis Jie (Stadt Jiezhou, Bezirk Yanhu, Stadt Yuncheng, Provinz Shanxi)“, }, ], }; }, Methoden: { // Farbe dynamisch festlegen getColorByNation(scope){ console.log(scope); // Drucke den übergebenen Bereich, damit er der gesamten Datenzeile in verschiedenen Zeilen der Tabelle entspricht, wie in der folgenden Abbildung gezeigt: wenn(scope.row.nation == "Nation"){ Rückkehr "rot" }sonst wenn(scope.row.nation == "Shu"){ Rückkehr "schwarz" }sonst wenn(scope.row.nation == "Wu"){ Rückkehr "blau" } }, // Schriftgröße dynamisch festlegen getSizeByNation(scope){ wenn(scope.row.nation == "Nation"){ gebe "14px" zurück }sonst wenn(scope.row.nation == "Shu"){ gebe "18px" zurück }sonst wenn(scope.row.nation == "Wu"){ gebe "24px" zurück } } }, }; </Skript> Drucken Sie den übergebenen Umfang Methode 2 fasst zusammen, dass diese Methode der Steuerung durch Bindungsstilen über Vue viel flexibler ist als die erste Methode. Schließlich wird die erste Methode in einer El-Tabelle und die zweite Methode in Methoden geschrieben. Welches konkret zu verwenden ist, hängt von den Anforderungen der Szene ab. Dies ist das Ende dieses Artikels über Beispiele für die dynamische Implementierung verschiedener Datenstile in einer Spalte der El-Tabelle eines Elements der Benutzeroberfläche. Weitere Beispiele für die dynamische Implementierung verschiedener Datenstile in einer Spalte der El-Tabelle eines Elements der Benutzeroberfläche 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:
|
<<: Verschiedene Methoden zum Neustarten von Mysql unter CentOS (empfohlen)
Dataframe ist eine neue API, die in Spark 1.3.0 e...
Einführung in kubectl kubectl ist ein Befehlszeil...
Beim Schreiben meiner eigenen Demo möchte ich dis...
Inhaltsverzeichnis 1. Array-Dekonstruktion 2. Obj...
Eine CSS-Layout- und Stilfrage: Wie kann man die ...
Lassen Sie mich kurz das Funktionsszenario erklär...
Was ist ein Deckungsindex? Das Erstellen eines In...
Inhaltsverzeichnis Auf dem Server läuft Jupyter N...
1. Rendern JD-Effekt Simulationseffekt 2. Grundsa...
I. Einleitung Die Docker-Technologie erfreut sich...
Vorwort InnoDB gehört in MySQL zur Speicher-Engin...
Vorwort Ich bin kürzlich bei der Arbeit auf diese...
Als ich nachts meinen MAC einschaltete, stellte i...
Inhaltsverzeichnis 1. Einleitung 2. Installation ...
Mit Flash konnten Designer und Entwickler umfangr...