Heim Web-Frontend View.js Wie implementiert man ein mehrstufiges Verknüpfungsmenü in Vue?

Wie implementiert man ein mehrstufiges Verknüpfungsmenü in Vue?

Jun 25, 2023 pm 07:37 PM
vue 菜单 多级联动

Vue.js ist ein beliebtes Front-End-Framework und viele Websites verwenden Vue.js, um interaktive Benutzeroberflächen zu entwickeln. Eine häufige UI-Komponente ist ein mehrstufiges kaskadierendes Menü (auch als kaskadierender Selektor bezeichnet), mit dem Benutzer eine Option auswählen können, um die Liste einer anderen Option zu filtern, was eine detailliertere Suche oder Navigation ermöglicht. In diesem Artikel stellen wir vor, wie Sie mit Vue.js ein mehrstufiges Verknüpfungsmenü implementieren.

  1. Vorbereitung

Bevor wir beginnen, müssen wir sicherstellen, dass Vue.js installiert ist. Es kann mit npm oder dem offiziellen CDN von Vue.js installiert werden. Angenommen, wir haben bereits eine Vue.js-Anwendung und müssen nun eine mehrstufige Verknüpfungsmenükomponente hinzufügen.

  1. Erstellen Sie eine mehrstufige Verknüpfungsmenükomponente.

Wir erstellen eine einzelne Dateikomponente CascadingMenu.vue, um ein einfaches mehrstufiges Verknüpfungsmenü zu implementieren. In der Vorlage der Komponente verwenden wir die v-for-Direktive von Vue.js, um die Liste jeder Option zu rendern, und v-model, um den Wert der Option an den vom Benutzer ausgewählten Wert zu binden. Wenn der Benutzer eine Option auswählt, müssen wir die Optionsliste des Untermenüs aktualisieren und anzeigen.

<template>
  <div class="cascading-menu">
    <select v-model="selectedOption">
      <option value="">请选择</option>
      <option v-for="option in options" :value="option">{{ option.label }}</option>
    </select>
    <cascading-menu v-if="hasChildren" :options="selectedOption.children" />
  </div>
</template>

<script>
export default {
  name: 'CascadingMenu',
  props: {
    options: {
      type: Array,
      default: () => [],
      required: true
    },
    selectedValue: {
      default: null,
      required: false
    }
  },
  data() {
    return {
      selectedOption: this.selectedValue,
      hasChildren: false
    };
  },
  watch: {
    selectedOption() {
      this.hasChildren = this.selectedOption.children.length > 0;
    }
  }
};
</script>
Nach dem Login kopieren

Jetzt haben wir eine einfache mehrstufige Verknüpfungsmenükomponente erstellt, die jede Option anzeigen und den vom Benutzer ausgewählten Wert an selectedOption binden kann.

  1. Daten hinzufügen

Bevor wir das mehrstufige Verknüpfungsmenü implementieren, müssen wir einige Daten vorbereiten, um die Optionen zu simulieren, die der Benutzer auswählen kann. Wir können ein einfaches Array von Objekten verwenden, um jede Option und ihr Untermenü darzustellen, wie unten gezeigt.

data() {
    return {
      options: [
        {
          label: '选项1',
          children: [
            {
              label: '选项1-1',
              children: [
                { label: '选项1-1-1', children: [] },
                { label: '选项1-1-2', children: [] },
                { label: '选项1-1-3', children: [] }
              ]
            },
            {
              label: '选项1-2',
              children: [{ label: '选项1-2-1', children: [] }]
            }
          ]
        },
        {
          label: '选项2',
          children: [
            {
              label: '选项2-1',
              children: [
                { label: '选项2-1-1', children: [] },
                { label: '选项2-1-2', children: [] },
                { label: '选项2-1-3', children: [] }
              ]
            },
            {
              label: '选项2-2',
              children: [{ label: '选项2-2-1', children: [] }]
            }
          ]
        }
      ]
    };
  }
Nach dem Login kopieren

Unter diesen verfügt jede Option über ein Beschriftungsattribut und ein Kinderattribut. Das Kinderattribut stellt die Option des Untermenüs dar (falls vorhanden).

  1. Implementieren eines mehrstufigen Verknüpfungsmenüs

Wir haben eine mehrstufige Verknüpfungsmenükomponente erstellt und die Daten vorbereitet. Jetzt müssen wir sie kombinieren und rekursive Komponenten verwenden, um das mehrstufige Verknüpfungsmenü zu implementieren. Wir können die Cascading-Menu-Komponente in die App.vue-Datei einbinden und ihr die Optionsdaten als Requisiten übergeben. Innerhalb der Cascading-Menü-Komponente zeigen wir alle Untermenüs an, indem wir sie selbst rekursiv aufrufen, um ein mehrstufiges Verknüpfungsmenü zu erreichen.

<template>
  <div class="app">
    <cascading-menu :options="options" />
  </div>
</template>

<script>
import CascadingMenu from './components/CascadingMenu';

export default {
  name: 'App',
  components: {
    CascadingMenu
  },
  data() {
    return {
      options: [
        {
          label: '选项1',
          children: [
            {
              label: '选项1-1',
              children: [
                { label: '选项1-1-1', children: [] },
                { label: '选项1-1-2', children: [] },
                { label: '选项1-1-3', children: [] }
              ]
            },
            {
              label: '选项1-2',
              children: [{ label: '选项1-2-1', children: [] }]
            }
          ]
        },
        {
          label: '选项2',
          children: [
            {
              label: '选项2-1',
              children: [
                { label: '选项2-1-1', children: [] },
                { label: '选项2-1-2', children: [] },
                { label: '选项2-1-3', children: [] }
              ]
            },
            {
              label: '选项2-2',
              children: [{ label: '选项2-2-1', children: [] }]
            }
          ]
        }
      ]
    };
  }
};
</script>
Nach dem Login kopieren

Jetzt haben wir ein einfaches mehrstufiges Verknüpfungsmenü implementiert, der Benutzer kann auf eine der Optionen klicken, um das Untermenü anzuzeigen. Für jedes Untermenü können wir die Optionen aller Untermenüs anzeigen, indem wir die Komponente „cascading-menu“ rekursiv aufrufen.

  1. Zusammenfassung

In diesem Artikel haben wir gelernt, wie man mit Vue.js ein mehrstufiges Verknüpfungsmenü implementiert. Wir haben eine einfache kaskadierende Menükomponente erstellt und rekursive Aufrufe an sich selbst verwendet, um mehrstufige kaskadierende Menüs zu implementieren. Durch die Vorbereitung und Arbeit mit den Daten zeigen wir, wie jede Option gerendert und das V-Modell genutzt wird, um den Wert der Option an den vom Benutzer ausgewählten Wert zu binden. Wir hoffen, dass dieser Artikel Ihnen hilft, die Verwendung von Vue.js besser zu verstehen und leistungsfähigere UI-Komponenten zu erstellen.

Das obige ist der detaillierte Inhalt vonWie implementiert man ein mehrstufiges Verknüpfungsmenü in Vue?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie ist die Methode, um Vue.js -Zeichenfolgen in Objekte umzuwandeln? Wie ist die Methode, um Vue.js -Zeichenfolgen in Objekte umzuwandeln? Apr 07, 2025 pm 09:18 PM

Die Verwendung von JSON.Parse () String to Object ist am sichersten und effizientesten: Stellen Sie sicher, dass die Zeichenfolgen den JSON -Spezifikationen entsprechen, und vermeiden Sie häufige Fehler. Verwenden Sie Try ... Fang, um Ausnahmen zu bewältigen, um die Code -Robustheit zu verbessern. Vermeiden Sie die Verwendung der Methode EVAL (), die Sicherheitsrisiken aufweist. Für riesige JSON -Saiten kann die Analyse oder eine asynchrone Parsen in Betracht gezogen werden, um die Leistung zu optimieren.

Vue realisiert Festzelt-/Text -Scrolling -Effekt Vue realisiert Festzelt-/Text -Scrolling -Effekt Apr 07, 2025 pm 10:51 PM

Implementieren Sie Marquee/Text-Scrolling-Effekte in VUE unter Verwendung von CSS-Animationen oder Bibliotheken von Drittanbietern. In diesem Artikel wird die Verwendung von CSS -Animation vorgestellt: Bildlauftext erstellen und Text mit & lt; div & gt;. Definieren Sie CSS -Animationen und setzen Sie Überlauf: Versteckt, Breite und Animation. Definieren Sie Keyframes, setzen Sie Transformation: Translatex () am Anfang und am Ende der Animation. Passen Sie die Animationseigenschaften wie Dauer, Bildlaufgeschwindigkeit und Richtung an.

So verwenden Sie Exportverlagerung und Import in Vue So verwenden Sie Exportverlagerung und Import in Vue Apr 07, 2025 pm 07:09 PM

Der Exportieren von Exportieren wird verwendet, um Vue -Komponenten zu exportieren und andere Module zugreifen zu lassen. Der Import wird verwendet, um Komponenten aus anderen Modulen zu importieren, die eine einzelne oder mehrere Komponenten importieren können.

Vue und Element-UI kaskadierte Dropdown-Box-Requisiten geben den Wert Vue und Element-UI kaskadierte Dropdown-Box-Requisiten geben den Wert Apr 07, 2025 pm 07:36 PM

Die Datenstruktur muss klar definiert werden, wenn die dropfenkäfigen Vue- und Element-UI-kaskadierten Dropdown-Boxen die Requisiten übergeben, und die direkte Zuordnung statischer Daten wird unterstützt. Wenn Daten dynamisch erhalten werden, wird empfohlen, Werte innerhalb des Lebenszyklushakens zuzuweisen und asynchrone Situationen zu behandeln. Für nicht standardmäßige Datenstrukturen müssen defaultProps oder konvertierte Datenformate geändert werden. Halten Sie den Code einfach und leicht zu verstehen mit aussagekräftigen variablen Namen und Kommentaren. Um die Leistung zu optimieren, können virtuelle Scrollen oder faule Ladetechniken verwendet werden.

Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Welche Methode wird verwendet, um Strings in Objekte in Vue.js umzuwandeln? Apr 07, 2025 pm 09:39 PM

Bei der Konvertierung von Zeichenfolgen in Objekte in Vue.js wird JSON.Parse () für Standard -JSON -Zeichenfolgen bevorzugt. Bei nicht standardmäßigen JSON-Zeichenfolgen kann die Zeichenfolge durch Verwendung regelmäßiger Ausdrücke verarbeitet und Methoden gemäß dem Format oder dekodierten URL-kodiert reduziert werden. Wählen Sie die entsprechende Methode gemäß dem String -Format aus und achten Sie auf Sicherheits- und Codierungsprobleme, um Fehler zu vermeiden.

Wird die Anforderungsmethode (get, post usw.) korrekt verwendet? Wird die Anforderungsmethode (get, post usw.) korrekt verwendet? Apr 07, 2025 pm 10:09 PM

Die Verwendung der Axios -Anforderungsmethode in Vue.js erfordert folgenden Grundsätzen: Get: Ressourcen erhalten, keine Daten ändern. Beitrag: Daten erstellen oder senden, Daten hinzufügen oder ändern. Put: Aktualisieren oder ersetzen Sie vorhandene Ressourcen. Löschen: Löschen Sie die Ressource vom Server.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

See all articles