Показать md-select, если другое md-select - выбранное значение = concrete_value

У меня есть два md-select:

<form (ngSubmit)="someAction(f)" #f="ngForm">
   <md-select
       #selectedHolidayType
        placeholder="Holiday type"
        name="holiday_type"
        [(ngModel)]="holiday_type"
    >
   <md-option *ngFor="let type of types" [value]="type.typeId">{{ type.typeName}}</md-option>
   </md-select>

<md-select
     *ngIf="selectedHolidayType === 19"
     placeholder="Some placeholder"
     name="option"
     [ngModel]="option"
>
      <md-option *ngFor="option of options" [value]="option.id">{{option.value}}</md-option>

</md-select>
</form>

Как я могу показать второй md-select, только если для первого выбранного md-select установлено то, что я хочу, в данном случае - 19.

Или, может быть: как я могу получить выбранное значение первого md-select в шаблоне HTML?

Я уже попробовал:

*ngIf="holiday_type === 19"
*ngIf="selectedHolidayType.selected === 19"
*ngIf="selectedHolidayType.selected.value === 19"

Но ничего из этого не работает.

Спасибо за любую помощь!

2 ответа

Я не знаю, почему это не сработало, когда ты пытался *ngIf="holiday_type === 19",

Вот пример того, как это работает,

<form>
  <md-select placeholder="Holiday type"
      name="holiday_type"
      [(ngModel)]="holiday_type">
    <md-option *ngFor="let type of types" [value]="type.typeId">{{ type.typeName }}</md-option>
  </md-select>

  <!-- Only show when 19 is selected -->
  <md-select *ngIf="holiday_type === 19"
      placeholder="Some placeholder"
      name="option"
      [(ngModel)]="option">
    <md-option *ngFor="let option of options" [value]="option.id">{{ option.value }}</md-option>
  </md-select>

</form>

Хорошо, я нашел ответ:

 <md-select
       #selectedHolidayType
        placeholder="Holiday type"
        name="holiday_type"
        [(ngModel)]="holiday_type"
    >
   <md-option *ngFor="let type of types" [value]="type.typeId">{{ type.typeName}}
   </md-option>
</md-select>

<div *ngIf="holiday_type > 0">

    <md-select
     *ngIf="holiday_type == 19"
     placeholder="Some placeholder"
     name="option"
     [ngModel]="option"
    >
      <md-option *ngFor="option of options" [value]="option.id">{{option.value}}
    </md-option>

  </md-select>

</div>

Не знаю почему, но если я заверну md-select в div, это сработает!

Я бы очень признателен, если бы кто-то мог объяснить это поведение:)

Другие вопросы по тегам