Heim > Web-Frontend > View.js > Hauptteil

So verwenden Sie Vue und Element-UI, um die Dropdown-Box-Funktion für mehrstufige Verknüpfungen zu implementieren

WBOY
Freigeben: 2023-07-20 23:43:48
Original
3681 Leute haben es durchsucht

So verwenden Sie Vue und Element-UI, um eine mehrstufige Dropdown-Box-Funktion zu implementieren

Einführung:
In der Webentwicklung ist die mehrstufige Verknüpfungs-Dropdown-Box eine gängige Interaktionsmethode. Durch Auswahl einer Option in einem Dropdown-Feld kann der Inhalt nachfolgender Dropdown-Felder dynamisch geändert werden. In diesem Artikel wird erläutert, wie Sie Vue und Element-UI zum Implementieren dieser Funktion verwenden, und es werden Codebeispiele bereitgestellt.

1. Vorbereitung
Zuerst müssen wir sicherstellen, dass Vue und Element-UI installiert wurden. Es kann über den folgenden Befehl installiert werden:

npm install vue
npm install element-ui
Nach dem Login kopieren

2. Datenvorbereitung
Um eine mehrstufige Verknüpfungs-Dropdown-Box zu implementieren, müssen wir die entsprechenden Daten vorbereiten. Angenommen, wir verfügen über eine Datensammlung von Automarken und Automodellen. Die Datenstruktur ist wie folgt:

brands: [
    {
        id: 1,
        name: '奥迪',
        models: [
            {
                id: 1,
                name: 'A4'
            },
            {
                id: 2,
                name: 'A6'
            }
        ]
    },
    {
        id: 2,
        name: '宝马',
        models: [
            {
                id: 3,
                name: 'X3'
            },
            {
                id: 4,
                name: 'X5'
            }
        ]
    }
]
Nach dem Login kopieren

3. Vue-Komponente schreiben
Wir können eine Vue-Komponente namens Cascader erstellen, um die Dropdown-Box-Funktion für die mehrstufige Verknüpfung zu implementieren. Der Code lautet wie folgt:

<template>
  <div>
    <el-cascader
      :options="brands"
      v-model="selectedValues"
      @change="handleChange"
      :props="{ value: 'id', label: 'name', children: 'models' }"
    ></el-cascader>
  </div>
</template>

<script>
export default {
  data() {
    return {
      brands: [...], // 编辑为上面提到的数据结构
      selectedValues: []
    };
  },
  methods: {
    handleChange(value) {
      console.log(value);
    }
  }
};
</script>
Nach dem Login kopieren

Im obigen Code verwenden wir die Cascader-Komponente von Element-UI. Indem wir das Optionsattribut auf Marken setzen, übergeben wir die Daten der Automarke an das Dropdown-Feld. Die V-Model-Direktive wird verwendet, um den vom Benutzer ausgewählten Wert in beide Richtungen zu binden. Das @change-Ereignis kann Änderungen der Benutzerauswahl überwachen. In der handleChange-Methode können wir den vom Benutzer ausgewählten Wert verarbeiten.

4. Komponenten rendern
Um unsere Komponenten auf der Seite zu rendern, müssen wir die Cascader-Komponente in der Vue-Instanz einführen und registrieren. Der Code lautet wie folgt:

import Vue from 'vue';
import Cascader from './Cascader.vue';

new Vue({
  render: (h) => h(Cascader)
}).$mount('#app');
Nach dem Login kopieren

5. Praktische Anwendung
Der obige Code ist nur ein einfaches Beispiel. In der tatsächlichen Anwendung müssen wir möglicherweise das entsprechende Automodell entsprechend der vom Benutzer ausgewählten Marke dynamisch laden. Das Folgende ist der Code für ein vollständiges Beispiel:

<template>
  <div>
    <el-cascader
      :options="brands"
      v-model="selectedValues"
      @change="handleChange"
      :props="{ value: 'id', label: 'name', children: 'models' }"
    ></el-cascader>
    <el-cascader
      v-if="selectedValues[0]"
      :options="getBrandById(selectedValues[0]).models"
      v-model="selectedValues[1]"
      @change="handleChange"
      :props="{ value: 'id', label: 'name' }"
    ></el-cascader>
  </div>
</template>

<script>
export default {
  data() {
    return {
      brands: [...], // 编辑为上面提到的数据结构
      selectedValues: []
    };
  },
  methods: {
    handleChange(value) {
      console.log(value);
    },
    getBrandById(id) {
      return this.brands.find((brand) => brand.id === id);
    }
  }
};
</script>
Nach dem Login kopieren

Im obigen Code laden wir dynamisch das entsprechende Automodell basierend auf der vom Benutzer ausgewählten Marke. Wenn der Benutzer eine Marke auswählt, wird das zweite Dropdown-Feld basierend auf dem Modellattribut der ausgewählten Marke gerendert.

6. Zusammenfassung
Durch die Zusammenarbeit von Vue und Element-UI können wir die Dropdown-Box-Funktion für mehrstufige Verknüpfungen problemlos realisieren. Bereiten Sie zuerst die Daten vor und verwenden Sie dann die Cascader-Komponente, um den Verknüpfungseffekt zu erzielen, indem Sie das Props-Attribut festlegen und das Änderungsereignis abhören. Oben finden Sie eine detaillierte Beschreibung und einen Beispielcode zur Verwendung von Vue und Element-UI zur Implementierung der Dropdown-Box-Funktion für mehrstufige Verknüpfungen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Vue und Element-UI, um die Dropdown-Box-Funktion für mehrstufige Verknüpfungen zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage