Я пытаюсь создать select
в своем приложении Angular на основе массива classificationsList
из компонента.На данный момент представление инициируется с первым уже выбранным значением, но проверка помечает его как недопустимый ответ.
Если я выберу раскрывающийся список и выберу другую опцию, он вернётся действительным.
(до выбора)
(после выбора)
Но когда я возвращаюсь, чтобы выбрать "Класс 1", он снова становится недействительным.
Я ожидаю, что это будет иметь пустую опцию по умолчанию (как показано ниже), которая исчезает при выборе реальной опции.Разница между этими двумя списками заключается в том, что classificationsList
является динамическим, тогда как список отделов является статическим.
Фактически я взял блок html из списка отделов и простодобавил кусок * ngFor.Может кто-нибудь сказать мне, что я делаю неправильно, здесь?Однако проблема заключается не только в валидации.Большая проблема заключается в том, что по умолчанию используется первое значение в массиве, а не пустое значение, такое как Department.Когда я помещаю пустую строку в первый элемент массива со стороны компонента, он выбирает пустое значение так же, как выбирает «Класс 1», как вы видели.
В действительности проверка выполняется нормально, так как пустая строка недопустима, а остальные элементы массива действительны.В этом случае, однако, есть пустая строка, все еще доступная в опции.
<div><label for="titleClass">Title Classification</label></div>
<select name="titleClass" id="titleClass" ngModel required>
<option *ngFor="let class of classificationsList">{{class}}</option>
</select>
</div>