Vue implementiert rekursiv ein dreistufiges Menü

Vue implementiert rekursiv ein dreistufiges Menü

In diesem Artikelbeispiel wird der spezifische Code der rekursiven Implementierung des dreistufigen Menüs durch Vue zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

Übergeordnete Komponente

<Vorlage>
    <div Klasse="Menüebene-Menü Menüebene-Menü-Eingabe" v-if="showLevelMenu">
      <Menüelement Klasse="Menüelement" :menuDate="Menüliste"></Menüelement>
    </div>
</Vorlage>

Unterkomponenten

<Vorlage>
  <div>
    <div Klasse="" v-for="(Menü, Index) in MenüDatum" :Schlüssel="Index">
    // Jedes Menüelement <div class="menu-row" @click="menuSpread(menu)"
           :Klasse="[{'menu-row-selected': menu.selected && menu.children.length <= 0}]">
        <div Klasse="Menüzeile links">
          <div Klasse = "Menüzeile-links-Linie" :Klasse = "[{'Menü-ausgewählt': Menü.ausgewählt && Menü.Kinder.Länge <= 0}]"></div>
          <i class="iconfont" :class="[menu.menuIcon, {'color-icon': showIconColor(menu)}]"></i>
        </div>
        <div Klasse="Menüzeile rechts">
          <span :class="[{'font-16': menu.level === '0'}]">{{menu.menuName}}</span>
          <i class="c" v-if="menu.children.length <= 0"></i>
          <i class="iconfont icon-liebiaoxiala" v-if="menu.children.length>0 && !menu.selected"></i>
          <i class="iconfont icon-liebiaoshouqi" v-if="menu.children.length>0 && menu.selected"></i>
        </div>
      </div>
      // Menü rekursiv anzeigen <menu-item v-show="menu.selected" v-if="menu.children.length>0" :menuDate="menu.children"></menu-item>
    </div>
  </div>
</Vorlage>
<Skript>
  Standard exportieren {
    Requisiten: {
      MenüDatum: Array
    },
    Name: 'Menüelement',
    Methoden: {
      menuSpread (Menü) {
        wenn (menu.menuRouter) dies.$router.push(menu.menuRouter);
        Menü.ausgewählt = !Menü.ausgewählt;
        dies.rekursion(dieses.menuDate, menü);
      },
      Rekursion (alle, temp) {
        alle.fürJedes(Element => {
          wenn (item.menüname !== temp.menüname) {
            Element.ausgewählt = falsch;
            dies.rekursion(item.children, temp);
          }
        });
      },
      showIconColor (Menü) {
        lass zeigen = falsch;
        wenn (Menüebene === '0') {
          menu.children.forEach(item => {
            wenn (Artikel.Kinder.Länge <= 0 && Artikel.ausgewählt) {
              zeigen = wahr;
            }
            wenn (Element.Kinder.Länge > 0) {
              item.children.forEach(item => {
                wenn (Element.ausgewählt) {
                  zeigen = wahr;
                }
              });
            }
          });
        }
        Rückgabeshow;
      }
    }
  };
</Skript>

Rendern

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue + Element verwendet dynamisches Laderouting, um den Vorgang zum Anzeigen der dreistufigen Menüseite zu implementieren
  • Vue.js realisiert den dreistufigen Menüeffekt
  • Vue implementiert das Berechtigungssystem zur Hintergrundverwaltung und die dreistufige Menüanzeigefunktion der oberen Leiste
  • So ändern Sie das sekundäre Menü des Vue iview-admin-Frameworks in das Menü der dritten Ebene
  • Die Verknüpfungsmethode zwischen Menü und Registerkarte von vue+iview
  • Vue implementiert den Implementierungscode für die linke und rechte Menüverknüpfung
  • Vue realisiert eine dreistufige Verknüpfung der Städteauswahl basierend auf Mint-UI
  • Detaillierte Erläuterung von Vue, Element-UI und Axios zur Erreichung einer dreistufigen Verknüpfung zwischen Provinzen, Städten und Bezirken
  • Beispiel, wie vue + elementUI eine dreistufige Verknüpfung zwischen Provinzen, Städten und Landkreisen erreichen kann
  • Vue implementiert ein dynamisches Menü mit dreistufiger Verknüpfung

<<:  Docker stellt Laravel-Anwendung bereit, um Warteschlangen- und Aufgabenplanung zu realisieren

>>:  Grafisches Tutorial zur Installation des MySQL 5.7.21 Installers unter Windows 10

Artikel empfehlen

Lösung für das Timeout-Problem bei der Installation von Docker-Compose mit PIP

1: Installationsbefehl pip install docker-compose...

Grundlegendes Tutorial zur Bedienung von Dateien und Berechtigungen in CentOS

Vorwort Bevor wir beginnen, sollten wir uns kurz ...

Erläuterung der HTTPS-Prinzipien

Da die Kosten für die Erstellung von HTTPS-Websit...

So ändern Sie MySQL, um Remoteverbindungen zuzulassen

In Bezug auf die MySQL-Remoteverbindung stoßen wi...

JavaScript realisiert die Generierung und Überprüfung von Zufallscodes

Die Generierung und Überprüfung von Zufallscodes ...

Detaillierte Installation und Konfiguration von hadoop2.7.2 unter Ubuntu15.10

Im Internet und in vielen Büchern gibt es viele T...

Erklärung und Beispielverwendung von 4 benutzerdefinierten Anweisungen in Vue

Vier praktische Vue-Custom-Anweisungen 1. V-Wider...

JavaScript-Timer zum nahtlosen Scrollen von Bildern

In diesem Artikel wird der spezifische JavaScript...

Beispiel zum Erstellen und Ausführen mehrerer MySQL-Container in Docker

1. Verwenden Sie das Image mysql/mysql-server:lat...

Detaillierte Beschreibung der HTML-Tabellenrahmensteuerung

Nur den oberen Rand anzeigen <table frame=above...

Schnellstart-Tutorial zum Nginx-Dienst

Inhaltsverzeichnis 1. Einführung in Nginx 1. Was ...