2016-09-12 5 views
2

Я использую атрибут name и директиву ngModel как простой способ получить значение формы в угловом 2 приложении:Почему ngModel добавляет пустую/пустую опцию к выбору?

<input type="text" name="firstName" ngModel> 

Но у меня проблема при использовании этого подхода в select:

<select name="gender" ngModel> 

Выбрать с помощью ngModel с пустым/пустым вариантом.

Без ngModel:

enter image description here

С ngModel:

enter image description here

Вот plunker: http://plnkr.co/edit/hwF2U7WHp1U8IQnVGEXv?p=preview

Я пропускаю что-то или это ошибка?

+0

Это не добавил пустой вариант, просто по умолчанию значения не соответствует какому-либо варианту. Что вы добавили 'ngModel' в любом случае? –

+0

С NgModel, его пустым, потому что он привязан к вашей модели. если вы хотите, чтобы любой пол был выбран по умолчанию, установите гендерное значение для вашей модели. например. [(ngModel)] = "Model.value" двусторонняя привязка. – Jeet

+0

Возможный дубликат [Почему angularjs включает пустую опцию в select] (http://stackoverflow.com/questions/12654631/why-does-angularjs-include-an-empty-option-in-select) –

ответ

1

Если вы используете

<select name="gender" [(ngModel)]="gender"> 

с

gender: string = 'male'; 

Вы получаете желаемый результат. Если вы используете ngModel таким образом, вам также не нужен метод getFormData.

Plunker example

Смежные вопросы