如果其他MD选择值 - 选定值= Concrete_value,则显示MD选择



我有两个md选择:

<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选择值设置为我想要的值时,我才能显示第二个MD选择,在这种情况下-19。

或也许:如何在HTML模板中获得第一个MD-select的选择值?

我已经尝试过:

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

但是这些都不可用。

感谢您的任何帮助!

好吧,我找到了答案:

 <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>

不知道为什么,但是如果我在Div中包装MD-Select,则可以工作!

如果有人可以解释这种行为:)

我不知道为什么在您尝试*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>

最新更新