Die Verknüpfungsmethode zwischen Menü und Registerkarte von vue+iview

Die Verknüpfungsmethode zwischen Menü und Registerkarte von vue+iview

Vue+iview-Menü und Tab-Verknüpfung

Ich entwickle derzeit ein Backend-Verwaltungssystem mit vue+iview. Ich hoffe, dass ich eine entsprechende Änderung an der Registerkarte und dem Inhalt auf der rechten Seite des linken Menüs vornehmen kann, wenn ich darauf klicke.

Aber nachdem ich lange am Routing gearbeitet habe, habe ich diese Funktion immer noch nicht erreicht.

Als ich anfing, vue+iview zu verwenden, wusste ich nicht, dass iview-admin direkt verwendet werden konnte und das Layout und andere Dinge sofort einsatzbereit waren. Ich hatte meine Demo jedoch schon lange geschrieben und konnte es nicht ertragen, aufzugeben.

1. Verwenden Sie das Menü und die Registerkarte von iview für das Layout und platzieren Sie diese beiden Komponenten auf der Hauptseite

Da die Daten von Menü und Registerkarte identisch sind und die Stile verknüpft werden müssen, kann vuex zur Statusverwaltung verwendet werden. Die zu verwaltenden Daten und Statusvariablen werden in den Status geschrieben, die Betriebsaktionen werden in Mutationen festgelegt und einige Verhaltensweisen werden in Aktionen abgehört (mein Menü hat keine Erweiterungs- und Kontraktionsteile, daher werden keine Aktionen verwendet).

2. Nachdem das Layout abgeschlossen ist, sollten Klickereignisse zum Menü hinzugefügt werden

Bei Auswahl wird zuerst das Tab-Änderungsereignis in Mutationen registriert. Wenn auf das linke Menü geklickt wird, wird geprüft, ob sich bereits ein Tab im Tab befindet, und es wird isExist=false festgelegt. Wenn dies der Fall ist, wird isExist auf true geändert. Wenn nicht, werden die relativen Indexdaten des Menüs dem vom Tab durchlaufenen Array hinzugefügt.

Mutationstyp

Bei Mutationen:

Die Ereignisse in der Menükomponente sind:

Legen Sie zunächst die Standardroute der Seite in der Registerkartenkomponente fest:

Fügen Sie dann das Ereignis hinzu:

iview+Vue mehrstufige Menüverknüpfung

Ich habe auf die dümmste Art und Weise eine dreistufige Menüverknüpfung geschrieben.

<Vorlage>
  <div>
    <Wählen Sie v-model="whereMap.model1"
            Stil="Breite:200px"
            @on-change="getSecond">
      <Option v-for="Element in Liste1"
              :Wert="Artikel-ID"
              :key="item.id">{{ item.label }}</Option>
    </Auswählen>
    <Wählen Sie v-model="whereMap.model2"
            Stil="Breite:200px"
            @on-change="getThird">
      <Option v-for="Element in Liste2"
              :Wert="Artikel-ID"
              :key="item.id">{{ item.label }}</Option>
    </Auswählen>
    <Wählen Sie v-model="whereMap.model3"
            Stil="Breite:200px">
      <Option v-for="Element in Liste3"
              :Wert="Artikel-ID"
              :key="item.id">{{ item.label }}</Option>
    </Auswählen>
    <Button Klasse="Suche-btn"
            Typ="Standard"
            @click="searchClear">Löschen</Button></div>
</Vorlage>
<Skript>
Standard exportieren {
  Daten () {
    zurückkehren {
      Datentest: {
        l1: [
          {
            ID: "Katze",
            Bezeichnung: „Katze“
          },
          {
            ID: 'Hund',
            Bezeichnung: „Hund“
          }
        ],
        l2: {
          Katze: [{ id: 'sc', label: 'Kätzchen' }, { id: 'bc', label: 'Großkatze' }],
          Hund: [{ id: 'sd', label: 'Welpe' }, { id: 'bd', label: 'Großer Hund' }]
        },
        l3: {
          sc: [{ id: 'sc1', label: 'Kleine Katze' }, { id: 'sc2', label: 'Kleine orange Katze' }],
          bc: [{ id: 'bc1', label: 'Große getigerte Katze' }, { id: 'bc2', label: 'Große orange Katze' }]
        }
      },
      Liste1: [],
      Liste2: [],
      Liste3: [],
      woMap: {
        Modell1: '',
        Modell2: '',
        Modell3: ''
      }
    }
  },
  gemountet () { this.init() },
  erstellt () {
    dies.init()
  },
  Methoden: {
    init () {
      diese.Liste1 = dieser.Datentest.l1
    },
    getSecond(val) {
      diese.Liste2 = dieser.Datentest.l2[Wert]
    },
    getThird (Wert) {
 
      diese.Liste3 = dieser.Datentest.l3[Wert]
    },
    Suche löschen () {
      konsole.log(diese.whereMap)
      dies.whereMap = {};
      diese.liste2 = [];
      diese.liste3 = [];
    }
  }
}
</Skript>

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Vue implementiert rekursiv ein dreistufiges Menü
  • 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
  • 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

<<:  HeidiSQL-Tool zum Exportieren und Importieren von MySQL-Daten

>>:  Tutorial zum Herunterladen, Installieren und Bereitstellen von Tomcat für IDEA (mit zwei Hot-Deployment-Einstellungsmethoden für IDEA)

Artikel empfehlen

Linux nutzt duale Netzwerkkartenbindung und Schraubendreherschnittstelle

Was ist eine Bindung? NIC-Bond ist eine Technolog...

Natives JS zur Implementierung der E-Mail-Eingabeaufforderung im Anmeldefeld

Dieser Artikel beschreibt eine native JS-Implemen...

Detaillierte Schritte zur Installation von RabbitMQ im Docker

Inhaltsverzeichnis 1. Finde den Spiegel 2. Laden ...

Häufige Anwendungsszenarien für React Hooks (Zusammenfassung)

Inhaltsverzeichnis 1. Staatshaken 1. Grundlegende...

Anwendung und Implementierung des Datencache-Mechanismus für kleine Programme

Informationen zum Miniprogramm-Datencache Datenca...

Drei Möglichkeiten zur Implementierung von Animationen in CSS3

Hiermit werden die Grundkenntnisse des Interviewt...

Detaillierte Erklärung zur Verwendung der Vue.js-Renderfunktion

Vue empfiehlt in den meisten Fällen die Verwendun...

Verwendung des Linux-Befehls xargs

1. Funktion: xargs kann die durch Leerzeichen ode...

Mehrere Möglichkeiten zum Sichern einer MySql-Datenbank

mysqldump-Tool-Sicherung Sichern Sie die gesamte ...

Erstellen eines sekundären Menüs mit JavaScript

In diesem Artikelbeispiel wird der spezifische Ja...

Win2008 R2 MySQL 5.5 ZIP-Format MySQL-Installation und -Konfiguration

Installation und Konfiguration von MySQL im ZIP-F...