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

Deaktivieren Sie die IE-Bildsymbolleiste

Ich habe es gerade auf IE6 ausprobiert und die Sym...

So erreichen Sie die maximale Anzahl von Verbindungen in MySQL

Inhaltsverzeichnis Was ist der Grund für den plöt...

Verwendung des Vuex-Namespace

Inhaltsverzeichnis Da Vuex einen einzelnen Zustan...

Lösen Sie das Problem der Kombination von AND und OR in MySQL

Wie unten dargestellt: Wählen Sie Produktname, Pr...

Einführung in den strikten Modus von JavaScript verwenden Sie strikt

Inhaltsverzeichnis 1. Übersicht 1.1 Was ist der s...

Vue verwendet das Video-Tag, um die Videowiedergabe zu implementieren

In diesem Artikel wird der spezifische Code von V...

5 Möglichkeiten, Ihre JavaScript-Codebasis sauberer zu machen

Inhaltsverzeichnis 1. Verwenden Sie Standardparam...

Ausführliche Erläuterung der Vue-Komponente „Multi-Select-Liste“

Eine Mehrfachauswahl ist ein Benutzeroberflächene...

So ändern Sie das Root-Benutzerkennwort in MySQL 8.0.16, WinX64 und Linux

Grundlegende Vorgänge wie die Verbindung zur Date...

Implementierung der Webpack-Codefragmentierung

Inhaltsverzeichnis Hintergrund CommonsChunkPlugin...

Detaillierte Erläuterung des Redo-Logs und Undo-Logs in MySQL

Die wichtigsten Protokolle im MySQL-Protokollsyst...

Wo werden MySQL-Daten gespeichert?

Speicherort der MySQL-Datenbank: 1. Wenn MySQL di...