2017-10-09 5 views
2

Heute verbrachte ich ca. 3 Stunden versucht, ein select Menü zu gelangen, ohne über eine Liste iterieren zu arbeiten:ein Auswahlmenü generiert mit [(ngModel)] ohne * ngFor

<select [(ngModel)]="selectedValue"> 
    <option [ngValue]="value1">First Value</option> 
    <option [ngValue]="value2">Second Value</option> 
</select> 

Aber alle Werte werden undefiniert ... Irgendwelche Ideen, was hier vor sich geht?

+0

Welche * sind * die Werte von 'Wert1 und' wert2 'in der Komponentenklasse? Könntest du ein [mcve] geben? – jonrsharpe

Antwort

3

Problem ist, dass NgValue Direktive für Variablen sucht value1 und value2 in Ihrer Komponente genannt, aber sie sind nicht definiert, so dass der Wert für jede Option ist undefined. Wenn Sie Ihren Wert wollen string sein, fügen Sie einfach '':

<select [(ngModel)]="selectedValue"> 
    <option [ngValue]="'value1'">First Value</option> 
    <option [ngValue]="'value2'">Second Value</option> 
</select> 
+1

* Gesicht palm * das ist genau das, was ich getan habe – dslosky

1

Sie versuchen, die Komponente Membervariablen value1 und value2 auf die Option über ngValue zu binden. Ich denke, dass man sie wie in Ihrem Komponenten Code definieren vergessen:

public value1 = 'value1'; 

Sie auch für einen einfachen String-Zuordnung gehen könnte wie:

<option ngValue="value1"></option> 
Verwandte Themen