Ein Beispiel für die dynamische Implementierung verschiedener Datenstile in einer Spalte der el-Tabelle des Elements ui

Ein Beispiel für die dynamische Implementierung verschiedener Datenstile in einer Spalte der el-Tabelle des Elements ui

Problembeschreibung

Im 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:
  • Die VUE-Tabelle fügt dynamisch eine Datenspalte hinzu und die neu hinzugefügten Daten können nicht bearbeitet werden (die an das V-Modell gebundenen Daten können nicht in Echtzeit aktualisiert werden).
  • Vue implementiert eine dynamische Steuerung der Anzeige und Ausblendung von Tabellenspalten in el-table
  • Detaillierte Erläuterung der Schreibmethode der dynamischen Spaltendarstellung der VUE2.0 + ElementUI2.0-Tabelle el-table loop
  • Wie ändert Vue dynamisch eine Datenspalte in el-table

<<:  Verschiedene Methoden zum Neustarten von Mysql unter CentOS (empfohlen)

>>:  So richten Sie den Remotezugriff auf einen Server ein, indem Sie in Windows eine IP-Adresse angeben

Artikel empfehlen

CSS erreicht hochadaptiven Vollbildmodus

Beim Schreiben meiner eigenen Demo möchte ich dis...

Details zur Destrukturierungszuweisung in Javascript

Inhaltsverzeichnis 1. Array-Dekonstruktion 2. Obj...

CSS horizontale Zentrierung und Begrenzung der maximalen Breite

Eine CSS-Layout- und Stilfrage: Wie kann man die ...

Einige Hinweise zur MySQL-Self-Join-Deduplizierung

Lassen Sie mich kurz das Funktionsszenario erklär...

Beispiele für die Verwendung von MySQL-Abdeckungsindizes

Was ist ein Deckungsindex? Das Erstellen eines In...

Lösen Sie das Problem beim Ausführen von Jupyter Notebook auf dem Server

Inhaltsverzeichnis Auf dem Server läuft Jupyter N...

CSS zum Erzielen eines Chat-Blaseneffekts

1. Rendern JD-Effekt Simulationseffekt 2. Grundsa...

Implementierung der Docker-Bereitstellung von Django+Mysql+Redis+Gunicorn+Nginx

I. Einleitung Die Docker-Technologie erfreut sich...

Ein tiefer Einblick in die MySQL InnoDB-Speicher-Engine

Vorwort InnoDB gehört in MySQL zur Speicher-Engin...

Tutorial zur Remote-Verbindung mit einer MySQL-Datenbank unter Linux

Vorwort Ich bin kürzlich bei der Arbeit auf diese...

So verwenden Sie rsync unter Linux

Inhaltsverzeichnis 1. Einleitung 2. Installation ...

50 wunderschöne FLASH-Website-Designbeispiele

Mit Flash konnten Designer und Entwickler umfangr...