Как выбрать опцию раскрывающегося списка по умолчанию на основе ложного значения в Angular? - PullRequest
0 голосов
/ 04 июня 2018

В следующем шаблоне параметр «Выбрать военный статус» будет выбран, когда базовое свойство model.militaryStatus имеет значение null.

<select [(ngModel)]="model.militaryStatus">
  <option [ngValue]="null">Select Military Status</option>
  <option *ngFor="let status of militaryStatuses" [value]="status.id">{{ status.description }}</option>
</select>

Проблема заключается в том, что для "Выберите «Военный статус», поле ngModel должно быть точно null - не undefined, не пустая строка, а null.Если они не совсем равны, вы получите что-то вроде этого, где нет выбранной опции:

Select list with no selected option

Есть ли способ отобразитьучитывая option когда свойство базового компонента имеет любое ложное значение?Таким образом, независимо от того, вернет ли API 0, undefined, null или пустую строку (все распространенные случаи использования в зависимости от сценария), опция по умолчанию будет отображаться без прерывания работы пользователя в виде пустоговниз?

РЕДАКТИРОВАТЬ: Вот песочница со стеком, показывающая пример этой проблемы

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Вы можете адаптировать первую опцию к текущему значению model.militaryStatus:

  • Если model.militaryStatus ложно, значение первой опции равно model.militaryStatus
  • Если model.militaryStatus является правдивым, значение первой опции будет null
<select [(ngModel)]="model.militaryStatus">
  <option [ngValue]="!model.militaryStatus ? model.militaryStatus : null">Select Military Status</option>
  <option *ngFor="let status of militaryStatuses" [value]="status.id">{{ status.description }}</option>
</select>

См. этот стек-блиц для демонстрации.

0 голосов
/ 04 июня 2018

Для шаблонной формы я сделал это и получил выбор по умолчанию.

Назначение model.militaryStatus=null в тс.

Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...