Angular Mehrfachauswahl-Dropdown

Muhammad Adil 20 März 2023
  1. Mehrfachauswahl-Dropdown in Angular
  2. Erstellen Sie ein Mehrfachauswahl-Dropdown in Angular
Angular Mehrfachauswahl-Dropdown

Das Dropdown-Menü ist eine allgegenwärtige Komponente auf jeder Website. Es wird zum Filtern der Artikelliste verwendet und kann für alles verwendet werden, von der Anzeige der Länderliste bis zum Filtern der Produktliste.

In diesem Artikel geht es um das Angular-Multi-Select-Dropdown und wie es in unserer Angular-Anwendung implementiert wird.

Mehrfachauswahl-Dropdown in Angular

Das Angular Multi-Select Dropdown ersetzt das HTML-Select-Tag zum Auswählen mehrerer Werte. Diese Textfeldkomponente ermöglicht es Benutzern, mehrere Werte aus einer vorgegebenen Liste von Möglichkeiten zu schreiben oder auszuwählen.

Zu den integrierten Funktionen gehören Datenbindung, Sortierung, Gruppierung, Kennzeichnung mit benutzerdefinierten Werten und Umschaltmodus.

Die Direktive ng-multi-select ist nützlich, wenn Sie mehrere Optionen aus einer Liste auswählen. Es ermöglicht uns, ein Dropdown-Menü mit mehreren Optionen zu erstellen, aus denen der Benutzer auswählen kann.

Die Direktive ng-select wird als Attribut für ein HTML-Element mit dem Wert eines Ausdrucks verwendet, der ein Array von Elementen zurückgibt. Die ausgewählten Elemente werden dann in der Dropdown-Liste angezeigt, und alle nicht ausgewählten Elemente werden ausgeblendet.

Dieses Paket enthält auch Änderungsereignisse zum Abrufen des ausgewählten Optionswerts, um das Dropdown-Menü mit Mehrfachauswahl in Angular zu aktivieren.

Erstellen Sie ein Mehrfachauswahl-Dropdown in Angular

In diesem Tutorial lernen Sie, mit ng-select ein Dropdown-Menü mit Mehrfachauswahl in Angular zu erstellen. Wir werden das Angular CLI verwenden, um unser Projekt zu generieren.

Öffnen Sie zunächst das Terminal und geben Sie den folgenden Befehl ein, um ein Projekt zu generieren.

ng new angular-multi-dropdown

Gehen Sie als Nächstes in den Projektordner und geben Sie den folgenden Befehl ein.

ng serve

Dieser Befehl startet einen Entwicklungsserver auf unserem Rechner. Öffnen Sie nun Ihren Browser und geben Sie "localhost:4200" in die Adressleiste ein.

Sie sollten eine Willkommensnachricht von unserer App sehen. Wenn Sie das nicht sehen, ist etwas mit dem Befehl ng serve schief gelaufen oder Sie müssen Ihren Computer/Browser neu starten.

Verwenden Sie danach die folgenden Schritte.

  • Fügen Sie die Direktive ng-select zu einem div-Element hinzu.
  • Fügen Sie die Direktive ng-model hinzu, um den Wert eines Ausdrucks an eine Variable zu binden.
  • Fügen Sie das Option-Element hinzu, ein Array von Zeichenfolgen, die eine Option in der Liste darstellen.
  • Fügen Sie ein Eingabeelement mit type = "checkbox" für jede Option in der Liste hinzu und beschriften Sie Attribute für jedes Kontrollkästchen, das der zugehörigen Zeichenfolge aus Schritt 3 oben entspricht, sowie ein Wertattribut, das seinem Index in Schritt 3 entspricht (this wird 0 sein, es sei denn, Sie verwenden Zahlen).

Unten ist ein Codebeispiel für das Angular-Dropdown-Menü mit Mehrfachauswahl.

Schreibmaschinencode:

import { Component, OnInit } from '@angular/core';
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
dropdownList: { id: number; itemName: string; }[];
selectedItems: { id: number; itemName: string; }[];
dropdownSettings: { singleSelection: boolean; text: string; selectAllText: string; unSelectAllText: string; enableSearchFilter: boolean; classes: string; };
  ngOnInit() {
    this.dropdownList = [
      { id: 1, itemName: 'Netherlands' },
      { id: 2, itemName: 'Pakistan' },
      { id: 3, itemName: 'Australia' },
      { id: 4, itemName: 'USA' },
      { id: 5, itemName: 'Canada' },
    ];
    this.selectedItems = [
      { id: 2, itemName: 'Pakistan' },
    ];
    this.dropdownSettings = {
      singleSelection: false,
      text: 'Select Countries',
      selectAllText: 'Select All',
      unSelectAllText: 'UnSelect All',
      enableSearchFilter: true,
      classes: 'myclass custom-class'
    };
  }
  onItemSelect(item: any) {
    console.log(item);
    console.log(this.selectedItems);
  }
  OnItemDeSelect(item: any) {
    console.log(item);
    console.log(this.selectedItems);
  }
  onSelectAll(items: any) {
    console.log(items);
  }
  onDeSelectAll(items: any) {
    console.log(items);
  }
}

HTML Quelltext:

<h2>Example of Angular Multi Select Dropdown</h2>
<angular2-multiselect [data]="dropdownList" [(ngModel)]="selectedItems"
    [settings]="dropdownSettings"
    (onSelect)="onItemSelect($event)"
    (onDeSelect)="OnItemDeSelect($event)"
    (onSelectAll)="onSelectAll($event)"
    (onDeSelectAll)="onDeSelectAll($event)">
</angular2-multiselect>

Code ausführen

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

Verwandter Artikel - Angular Dropdown