Heim  >  Artikel  >  Web-Frontend  >  vue schaltet das Auswahl-Dropdown-Feld um und löscht das Mehrfachauswahlfeld

vue schaltet das Auswahl-Dropdown-Feld um und löscht das Mehrfachauswahlfeld

WBOY
WBOYOriginal
2023-05-24 11:37:061300Durchsuche

Bei der Entwicklung des Front-End-Geschäfts mithilfe des Vue-Frameworks stoßen wir häufig auf mehrstufige Verknüpfungs-Dropdown-Felder. Zu diesem Zeitpunkt verwenden wir das Auswahlelement, um es zu implementieren. In mehrstufigen Verknüpfungsszenarien müssen wir jedoch manchmal die Optionen im Mehrfachauswahlfeld löschen, wenn sich die Optionen des Dropdown-Felds ändern, damit der Benutzer die relevanten Optionen erneut auswählen kann. In diesem Artikel wird erläutert, wie Sie die Funktion zum Löschen der Optionen im Mehrfachauswahlfeld implementieren, wenn sich die Optionen des Dropdown-Felds in Vue ändern.

1. Bedarfsanalyse

In tatsächlichen Projekten stoßen wir häufig auf mehrstufige Verknüpfungsanforderungen, wie z. B. die Auswahl von Land, Provinz, Stadt und anderen Informationen Manchmal verwenden wir normalerweise das Select-Element, um dies zu erreichen. Wenn wir in diesem Szenario jedoch die Optionen des Dropdown-Felds der oberen Ebene ändern, ändern sich auch die Optionen des Dropdown-Felds der unteren Ebene, aber die Optionen im Mehrfachauswahlfeld werden nicht gelöscht führt dazu, dass die Optionen nicht mit den Optionen des Dropdown-Felds übereinstimmen. Daher müssen wir die Optionen im Mehrfachauswahlfeld löschen, wenn sich die Optionen des Dropdown-Felds ändern, damit der Benutzer die relevanten Optionen erneut auswählen kann.

2. Lösung

Bei der Umsetzung der Anforderungen können wir das Watch-Attribut von Vue verwenden, um Änderungen im Wert des Dropdown-Felds zu überwachen und wann Der Wert ändert sich. Deaktivieren Sie die Optionen im Kontrollkästchen. Die konkrete Implementierung ist wie folgt:

In der Vorlage können wir zunächst das Mehrfachauswahlfeld und das Dropdown-Feld definieren und diese an die entsprechenden Optionen und Werte binden:

<template>
  <div>
    <select v-model="country" @change="clearCity">
      <option value="China">中国</option>
      <option value="US">美国</option>
      <option value="Japan">日本</option>
    </select>
    <select v-model="province" @change="clearCity">
      <option v-for="p in provinces" :value="p">{{p}}</option>
    </select>
    <select multiple v-model="city">
      <option v-for="c in cities" :value="c">{{c}}</option>
    </select>
  </div>
</template>
#🎜 🎜#Im Skript müssen wir Get- und Set-Methoden für Land und Provinz definieren, um die Logik zum Löschen des Mehrfachauswahlfelds auszulösen, wenn sich der Wert ändert:

<script>
export default {
  data() {
    return {
      country: 'China',
      province: '',
      cities: [],
      provinces: {
        'China': ['北京', '上海', '广州', '深圳'],
        'US': ['纽约', '洛杉矶', '旧金山'],
        'Japan': ['东京', '大阪', '福冈']
      }
    }
  },
  computed: {
    // 根据国家选择对应的省份
    availableProvinces() {
      return this.provinces[this.country] || []
    }
  },
  watch: {
    // 监听国家变化,清空省份和城市
    country(newVal, oldVal) {
      this.province = ''
      this.cities = []
    },
    // 监听省份变化,清空城市
    province(newVal, oldVal) {
      this.cities = []
    }
  },
  methods: {
    // 清空城市选项
    clearCity() {
      this.cities = []
    }
  }
}
</script>

Hier verwenden wir das berechnete Attribut um die verfügbaren Provinzoptionen zu berechnen und dann Get- und Set-Methoden für Land und Provinz zu definieren und die Logik zum Löschen des Mehrfachauswahlfelds in der Set-Methode auszulösen. Gleichzeitig überwachen wir auch Änderungen der Länder- und Provinzwerte im Überwachungsattribut und löschen die Provinz- und Stadtoptionen, wenn sich die Werte ändern. Schließlich haben wir die Methode „clearCity“ in der Methode zum Löschen der Stadtoptionen definiert.

3. Zusammenfassung

In diesem Artikel wird erläutert, wie die Funktion zum Löschen der Optionen im Mehrfachauswahlfeld implementiert wird, wenn sich die Optionen des Dropdown-Felds in Vue ändern. Wir können das Watch-Attribut von Vue verwenden, um Wertänderungen zu überwachen und die Logik zum Löschen des Mehrfachauswahlfelds auszulösen, wenn es sich ändert. Ich glaube, Sie haben anhand des obigen Beispiels gemeistert, wie Sie diese Funktion in Vue implementieren. In tatsächlichen Projekten können wir Anpassungen und Optimierungen entsprechend den spezifischen Anforderungen durchführen, um eine flexiblere und bequemere Geschäftslogik zu erreichen.

Das obige ist der detaillierte Inhalt vonvue schaltet das Auswahl-Dropdown-Feld um und löscht das Mehrfachauswahlfeld. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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