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

Detaillierte Erläuterung der Verwendung von Docker Commit

Manchmal müssen Sie bestimmte Abhängigkeiten im B...

WePY-Cloud-Entwicklungspraxis im Linux-Befehlsabfrage-Applet

Hallo zusammen, heute werde ich mit Ihnen die WeP...

Detaillierte Erklärung des Sticky Position-Attributs in CSS

Beim Entwickeln mobiler Apps stoßen Sie häufig au...

mysql5.7.21.zip Installations-Tutorial

Der detaillierte Installationsprozess von mysql5....

Ausführliche Erklärung verschiedener binärer Objektbeziehungen in JavaScript

Inhaltsverzeichnis Vorwort Beziehungen zwischen v...

So verwenden Sie den JS-Code-Compiler Monaco

Vorwort Meine Anforderungen sind Syntaxhervorhebu...

So verwenden Sie das Modul-FS-Dateisystem in Nodejs

Inhaltsverzeichnis Überblick Dateideskriptoren Sy...

Details zur Verwendung von „order by“ in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

5 einfache Möglichkeiten, Speicherplatz auf Ubuntu freizugeben

Vorwort Die meisten Benutzer führen diesen Vorgan...

Zusammenfassung der Ausführungsprobleme zwischen MySQL Max und Where

Ausführungsproblem zwischen MySQL Max und Where S...

HTML+Sass implementiert HambergurMenu (Hamburger-Menü)

Vor ein paar Tagen habe ich mir ein Video von ein...

Anmeldung zur Token-Verifizierung im Vue-Projekt (Front-End-Teil)

In diesem Artikelbeispiel wird der spezifische Co...

So erstellen Sie ein einfaches Säulendiagramm mit Flex-Layout in CSS

Das Folgende ist ein Balkendiagramm im Flex-Layou...