Vue Element-ui implementiert Baumsteuerungsknoten und fügt Symbole hinzu, detaillierte Erläuterung

Vue Element-ui implementiert Baumsteuerungsknoten und fügt Symbole hinzu, detaillierte Erläuterung

1. Rendern

Rendern

2. Daten binden und Beschriftungen zur Baumtabelle hinzufügen

Wenn Sie dem Baumknoten des Baumsteuerelements ein Bild oder ein Element-UI-Symbol hinzufügen möchten, können Sie den Bindungsdaten der Baumtabelle ein Beschriftungssymbol hinzufügen.

   Kinder: [
       {
           Symbol: „el-Symbol oben rechts“,
           Bezeichnung: ['Strahlname',''],
           Kinder: [
               {
                   Bezeichnung: ['Name', 'RS49'],
               },
               {
                   Symbol: „src/assets/images/Organization.png“,
                   Bezeichnung: ['Gruppe('+'3'+')','']
                   Kinder:[
                   {
                   Bezeichnung: ['10600361','10950','11200','0']
                    }
   					]
				}
           ]
		}
    ],

In der benutzerdefinierten Funktion des Baumsteuerelements

Legen Sie die Klasse direkt so fest, dass sie dem Symboltag von Element-UI entspricht.

Der img-Tag muss die Adresse Ihres eigenen Bildes hinzufügen

    renderContent(h,{Knoten,Daten,Speicher}){
        //div stellt eine Zeile des Baumsteuerelements dar und div enthält drei Span-Tags // Bestimmen Sie die Anzahl der Beschriftungsarrays des Knotens und wählen Sie die Klasse durch eine ternäre Operation aus
        // Legen Sie die Klasse fest, mit der die Ausrichtung des Baumsteuerelements gesteuert werden soll return h('div',[
          // Symbol- und Bild-Tags in der benutzerdefinierten Funktion des Baumsteuerelements hinzufügen // Das img-Tag muss die Adresse seines eigenen Bildes hinzufügen h('span',{class:'top-right'}),
          h('img',{src:data.icon}),
          h('span', {class:node.label.length === 2 ? 'nodeStyle':'groupStyle'},node.label[0]),
          h('span', {Klasse:'groupStyle'},node.label[1]),
          h('span',{class:node.label.length === 2 ? 'nodeStyle':'groupStyle'},node.label.length === 2 ? '':node.label[2])
          ]);
    },

3. Alle Codes

<Vorlage>
    <div Klasse="meinBaum">
          <el-Baum
              :data="Baumdaten"
              :props="StandardProps"
              @node-click="Klick auf Knoten handhaben"
              Einzug="0"
              :render-content="Renderinhalt"
          ></el-Baum>
        </div>
</Vorlage>

<script lang="ts">
importiere { defineComponent, ref } von 'vue'
exportiere StandarddefiniereKomponente({
    Komponenten: {},
    Daten() {
        zurückkehren {
              Baumdaten: [
        		{
          // Typ: 1,
         		 Bezeichnung: 'notice-id1',
                  Kinder: [
                        {

                          Bezeichnung: ['Satellitennamencode', 'ZOHREH-2'],
                        },
                        {

                          Bezeichnung: ['Organisation', 'IRN'],
                        },
                        {
                          Bezeichnung: ['Frequenzbereich', '10950-1450'],
                        },
                        {
                          Symbol: „el-Symbol oben rechts“,
                          Bezeichnung: ['Strahlname',''],
                          Kinder: [
                              {
                                  Bezeichnung: ['Name', 'RS49'],
                              },
                             {
                                  Bezeichnung:['freq_min','10950'],
                              },
                             {
                                  Bezeichnung: ['freq_max','14500'],
                              },
                              {
                                  Symbol: „src/assets/images/Organization.png“,
                                  Bezeichnung: ['Gruppe('+'3'+')','']
                                  Kinder:[
                                     {
                                        Bezeichnung: ['10600361','10950','11200','0']
                                     },
                                    {
                                        Bezeichnung: ['10600361','10950','11200','0']
                                     },
                                    {
                                        Bezeichnung: ['10600361','10950','11200','0']
                                     }
                                  ]
                              }
                      ]
                    },
                  ],
                },
              ],
            Standardeigenschaften: {
            Kinder: 'Kinder',
            Bezeichnung: "Bezeichnung",
          },
        }
    },
    Verfahren:{
    // Benutzerdefinierte Baumsteuerungsfunktion node stellt jeden Knoten dar renderContent(h,{node,data,store}){
        //div stellt eine Zeile des Baumsteuerelements dar und div enthält drei Span-Tags // Bestimmen Sie die Anzahl der Beschriftungsarrays des Knotens und wählen Sie die Klasse durch eine ternäre Operation aus
        // Legen Sie die Klasse fest, mit der die Ausrichtung des Baumsteuerelements gesteuert werden soll return h('div',[
          // Symbol- und Bildbeschriftungen in der benutzerdefinierten Funktion h('span',{class:[data.icon,data.icon==='el-icon-top-right'? 'top-right':'bottom-left']}) hinzufügen,
          h('img',{src:data.icon === 'src/assets/images/Organization.png' ? data.icon:''}),
          h('span', {class:node.label.length === 2 ? 'nodeStyle':'groupStyle'},node.label[0]),
          h('span', {Klasse:'groupStyle'},node.label[1]),
          h('span',{class:node.label.length === 2 ? 'nodeStyle':'groupStyle'},node.label.length === 2 ? '':node.label[2])
          ]);
    },
    }
    
})
</Skript>

<style lang="scss" scoped>
    
.nodeStyle{
  Breite: 110px;
  Anzeige: Inline-Block;
  Textausrichtung: links;
}
.Gruppenstil{
  Breite: 150px;
  Anzeige: Inline-Block;
  Textausrichtung: links;
}
    
</Stil>

Andere Implementierungen

Vue implementiert Baumtabelle durch Elementbaumsteuerung

Fügen Sie der Elementbaumsteuerung eine gepunktete Linie hinzu

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • Vue + ElementUI implementiert Paging-Funktion - MySQL-Daten
  • Vue + elementui realisiert Mehrfachauswahl- und Suchfunktionen der Dropdown-Tabelle
  • Verwenden Sie vue2+elementui für Hover-Prompts
  • Detaillierte Erklärung zur Verwendung von ElementUI in Vue
  • So installieren Sie Element UI und verwenden Vektorgrafiken in vue3.0

<<:  Ungültige Lösung beim Definieren mehrerer Klassenattribute in HTML

>>:  Schreiben von qualitativ hochwertigem Code – Praxisbuchauszüge zur Web-Frontend-Entwicklung

Artikel empfehlen

So implementieren Sie ein Hover-Dropdown-Menü mit CSS

Wie üblich werde ich heute über einen sehr prakti...

Mehrere Möglichkeiten zum Einfügen von SVG in HTML-Seiten

SVG (Scalable Vector Graphics) ist ein Bildformat...

Detaillierte Erläuterung des Beispiels für MySQL-Integritätsbeschränkungen

Dieser Artikel beschreibt die MySQL-Integritätsbe...

Fallstricke und Lösungen für das Upgrade von MySQL 5.7.23 in CentOS 7

Vorwort Kürzlich bin ich beim Upgrade von MySQL 5...

Der Unterschied zwischen ENTRYPOINT und CMD in Dockerfile

Im Lernprogramm zum Docker-System haben wir geler...

Vermeidung von durch Closures verursachten Problemen in JavaScript

Über let, um Probleme durch Schließung zu vermeid...

CentOS 7 SSHD ändern | Root-Login und SSHD-Port-Skriptdefinition verbieten

1. Erstellen Sie einen neuen Benutzer wwweee000 [...

Analyse der Schwierigkeiten im Hot-Standby der MySQL-Datenbank

Ich habe Ihnen zuvor die Konfigurationsmethode fü...

MySQL-Lösung zur Datenpaging-Abfrageoptimierung auf Millionenebene

Wenn die Tabelle Zehntausende Datensätze enthält,...