Heim Web-Frontend View.js So implementieren Sie ein Dropdown-Feld mit Mehrfachauswahl in Vue

So implementieren Sie ein Dropdown-Feld mit Mehrfachauswahl in Vue

Nov 07, 2023 pm 02:09 PM
vue 多选 下拉框

So implementieren Sie ein Dropdown-Feld mit Mehrfachauswahl in Vue

So implementieren Sie ein Dropdown-Feld mit Mehrfachauswahl in Vue

In der Vue-Entwicklung ist das Dropdown-Feld eine der häufigsten Formularkomponenten. Normalerweise verwenden wir Radio-Dropdown-Felder, um eine Option auszuwählen. Manchmal müssen wir jedoch ein Dropdown-Feld mit Mehrfachauswahl implementieren, damit Benutzer mehrere Optionen gleichzeitig auswählen können. In diesem Artikel stellen wir vor, wie man ein Mehrfachauswahl-Dropdown-Feld in Vue implementiert, und stellen spezifische Codebeispiele bereit.

1. Verwenden Sie die Element UI-Komponentenbibliothek
Element UI ist eine auf Vue basierende Desktop-Komponentenbibliothek, die einen umfangreichen Satz an UI-Komponenten und -Tools bereitstellt. In Element UI gibt es eine Komponente namens Select, mit der Dropdown-Boxen implementiert werden können. Diese Komponente unterstützt den Mehrfachauswahlmodus, der aktiviert werden kann, indem das Mehrfachattribut auf „true“ gesetzt wird. Hier ist ein einfaches Beispiel:

<el-select v-model="selectedOptions" multiple>
  <el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value"></el-option>
</el-select>
Nach dem Login kopieren
data() {
  return {
    options: [
      { value: 'option1', label: '选项1' },
      { value: 'option2', label: '选项2' },
      { value: 'option3', label: '选项3' }
    ],
    selectedOptions: []
  };
}
Nach dem Login kopieren

Im obigen Code verwenden wir die V-Model-Direktive, um ein Array selectedOptions zu binden, um die vom Benutzer ausgewählten Optionen zu speichern. Durch Festlegen des Mehrfachattributs auf „True“ kann das Dropdown-Feld Mehrfachauswahlen unterstützen.

2. Benutzerdefinierte Mehrfachauswahl-Dropdown-Box-Komponente
Zusätzlich zur Verwendung der von Element UI bereitgestellten Komponentenbibliothek können wir auch Mehrfachauswahl-Dropdown-Boxen entsprechend unseren eigenen Anforderungen implementieren. Das Folgende ist ein Beispielcode für eine benutzerdefinierte Dropdown-Box-Komponente mit Mehrfachauswahl:

<template>
  <div class="dropdown" @click="toggleDropdown">
    <div class="selected-options">
      <span v-if="selectedOptions.length === 0">请选择...</span>
      <span v-else>
        <span v-for="option in selectedOptions" :key="option.value">
          {{ option.label }}
          <span class="remove" @click.stop="removeOption(option)">&#10006;</span>
        </span>
      </span>
    </div>
    <div class="dropdown-list" v-show="showDropdown">
      <span v-for="option in options" :key="option.value" @click="toggleOption(option)">
        <input type="checkbox" :value="option.value" :checked="isChecked(option)">
        {{ option.label }}
      </span>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      options: [
        { value: 'option1', label: '选项1' },
        { value: 'option2', label: '选项2' },
        { value: 'option3', label: '选项3' }
      ],
      selectedOptions: [],
      showDropdown: false
    };
  },
  methods: {
    toggleDropdown() {
      this.showDropdown = !this.showDropdown;
    },
    toggleOption(option) {
      if (this.isSelected(option)) {
        this.removeOption(option);
      } else {
        this.addOption(option);
      }
    },
    isSelected(option) {
      return this.selectedOptions.some(selectedOption => selectedOption.value === option.value);
    },
    addOption(option) {
      if (!this.isSelected(option)) {
        this.selectedOptions.push(option);
      }
    },
    removeOption(option) {
      this.selectedOptions = this.selectedOptions.filter(selectedOption => selectedOption.value !== option.value);
    },
    isChecked(option) {
      return this.isSelected(option);
    }
  }
};
</script>

<style scoped>
.dropdown {
  position: relative;
  display: inline-block;
}
.selected-options {
  border: 1px solid #aaa;
  padding: 5px;
  cursor: pointer;
}
.dropdown-list {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 200px;
  overflow-y: auto;
  border: 1px solid #aaa;
  background-color: #fff;
  padding: 5px;
}
.remove {
  margin-left: 5px;
  cursor: pointer;
}
</style>
Nach dem Login kopieren

Im obigen Code verwenden wir eine Variable selectedOptions, um die vom Benutzer ausgewählten Optionen zu speichern. Erweitern oder reduzieren Sie das Dropdown-Feld, indem Sie auf einen Teil des Dropdown-Feld-Containers klicken, schalten Sie den ausgewählten Status um, indem Sie auf jede Option klicken, und verwenden Sie das Array selectedOptions, um die ausgewählten Optionen zu speichern. Die Methode „removeOption“ wird zum Entfernen von Optionen verwendet, und die Methode „isChecked“ wird verwendet, um zu bestimmen, ob eine Option ausgewählt ist. Diese Komponente kann in andere Komponenten eingeführt und verwendet werden.

Zusammenfassung
Um ein Mehrfachauswahl-Dropdown-Feld in Vue zu implementieren, können wir die von Element UI bereitgestellte Select-Komponente verwenden und das Mehrfachattribut auf true setzen. Darüber hinaus können wir Komponenten auch anpassen, um Dropdown-Felder mit Mehrfachauswahl zu implementieren und sie an unsere eigenen Bedürfnisse anzupassen. Die oben genannten Methoden zur Implementierung von Mehrfachauswahl-Dropdown-Feldern sind hoffentlich hilfreich.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein Dropdown-Feld mit Mehrfachauswahl 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)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 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)

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

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 verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

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.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

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.

Wie man Vue Pagination verwendet Wie man Vue Pagination verwendet Apr 08, 2025 am 06:45 AM

Pagination ist eine Technologie, die große Datensätze in kleine Seiten aufteilt, um die Leistung und die Benutzererfahrung zu verbessern. In VUE können Sie die folgende integrierte Methode zum Paging verwenden: Berechnen Sie die Gesamtzahl der Seiten: TotalPages () TRAVERSAL-Seitennummer: V-für Anweisung, um die aktuelle Seite festzulegen: aktuelle Seite

So verwenden Sie Funktionsabfangweserven So verwenden Sie Funktionsabfangweserven Apr 08, 2025 am 06:51 AM

Funktionsabfangen in VUE ist eine Technik, mit der die Häufigkeit, mit der eine Funktion eingerufen wird, innerhalb eines bestimmten Zeitraums aufgerufen wird und Leistungsprobleme verhindern. Die Implementierungsmethode lautet: Importieren Sie die Lodash -Bibliothek: importieren {dunounce} aus 'lodash'; Verwenden Sie die Dabounce -Funktion, um eine Intercept -Funktion zu erstellen: const dabouncedFunction = dunounce (() = & gt; { / logical /}, 500); Rufen Sie die Abfangfunktion auf und die Steuerfunktion wird höchstens einmal in 500 Millisekunden aufgerufen.

See all articles