2017-11-29 3 views
0

In Angular 2 habe ich eine Auswahl (Dropdown-Menü) mit dynamischen Optionen (Kategorien in diesem Fall) und eine Option erstellt, die eine Funktion zum Erstellen einer neuen Kategorie aufruft, die zur Auswahl hinzugefügt wird Optionsliste (dh das Dropdown-Menü).Angular 2, wählen Sie die Option Ausgabe

<md-select name="categories" (change)="categoryChanged($event)" [(ngModel)]="selectedCategory" floatPlaceholder="never" #categorySelect> 
    <md-option (click)=openAddCategoryDialog(proj)>Add Category</md-option> 
    <md-option *ngFor="let curr of proj['data'][0].Category" [value]="curr">{{curr.name}}</md-option> 
    </md-select> 

Als ich „Kategorie hinzufügen“ aus dem Auswahl Dropdown auswählen und eine neue Kategorie erstellen, möchte ich die Select den vorherigen Wert anzuzeigen, die in dem Auswahlfeld angezeigt wurde. In diesem Fall wird derzeit nichts angezeigt. Wenn ich zwischen anderen Werten wechsle, wird die ausgewählte Kategorie angezeigt.

Wie mache ich die Auswahl die zuvor ausgewählte Kategorie bei Auswahl von 'Kategorie hinzufügen'?

+0

Ich denke, es wäre am besten, die Add Category-Funktionalität aus der Auswahl zu verschieben. Das Problem, das Sie haben, wird verursacht, weil Sie den Wert der Auswahl ändern, wenn Sie auf Kategorie hinzufügen klicken. – LLai

Antwort

0

Eine mögliche Lösung ist die Add Category Option deaktivieren

<md-option (click)=openAddCategoryDialog(proj) disabled>Add Category</md-option> 

Dadurch wird sichergestellt, dass der Drop-Down nicht zu Add Category nicht ändert, aber zugleich noch das Click-Ereignis ausgelöst eine neue Kategorie hinzuzufügen. Hier ist eine stack blitz Demo dies.


Laut meinem Kommentar fühlt sich diese Funktionalität merkwürdig und wie ein Workaround. Ich würde empfehlen, die Funktion "Kategorie hinzufügen" aus der Auswahl zu entfernen.

+1

Ich verstehe, dass dies eine seltsame Funktionalität ist, aber es ist eine Anforderung der Art. Vielen Dank für Ihre Antwort. Meine Funktionalität funktioniert nun wie vorgesehen. :) –

Verwandte Themen