我有两个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-select选择值设置为我想要的值,我怎么能显示第二个md-select,在这种情况下为19。
或许:我怎样才能在html模板中获得第一个md-select的选定值?
我已经尝试过:
*ngIf="holiday_type === 19"
*ngIf="selectedHolidayType.selected === 19"
*ngIf="selectedHolidayType.selected.value === 19"
但这一切都无效。
感谢您的帮助!
答案 0 :(得分:0)
好的,我找到了答案:
<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就可以了!
如果有人可以解释这种行为,我真的会感到沮丧:)
答案 1 :(得分:0)
我不知道为什么当您尝试*ngIf="holiday_type === 19"
时它无效。
这是EXAMPLE的工作方式,
<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>