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

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.11 Zip

1. Laden Sie das MySQL 5.7.11 Zip-Installationspa...

Eine kurze Diskussion zum CSS-Höhenkollapsproblem

Leistung Zum Beispiel: HTML: <div Klasse="...

Eine kurze Analyse der startReactApplication-Methode von React Native

In diesem Artikel haben wir den Startvorgang von ...

Zwei praktische Möglichkeiten zum Aktivieren des Proxys in React

Zwei Möglichkeiten zum Aktivieren des Proxy React...

Detaillierte Erklärung der Funktionen jedes Ports von Tomcat

Aus der Tomcat-Konfigurationsdatei können wir ers...

Beheben Sie den Fehler beim Löschen von MySQL-Benutzern

Als der Autor MySQL zum Hinzufügen eines Benutzer...

Was sind die Vorteile einer semantischen HTML-Struktur?

eins: 1. Semantische Tags sind lediglich HTML, CS...

Einführung in die Verwendung von this in HTML-Tags

Zum Beispiel: Code kopieren Der Code lautet wie fo...