将元素绑定到 Angular mat-select
Bind element to Angular mat-select
所以,我有一个简单的 angular material mat-select,看起来像这样:
<mat-form-field appearance="outline" fxFlex="45%">
<mat-label> select</mat-label>
<mat-select formControlName="status">
<mat-option *ngFor="let status of statusesEnum" [value]="status.value">
{{status.name}}
</mat-option>
</mat-select>
</mat-form-field>
这是我的状态枚举:
statusesEnum = [{ name: "new", value: "1" }, { name: "passed", value: "2" }, { name: "done", value: "3" }]
现在,我有这个元素:
<conditions [conditionForm]="reasonsForm" ></conditions>
我只想针对特定的 selected 值显示。
这是我尝试过的:
<mat-select #statusSelect formControlName="status">
<mat-option *ngFor="let status of statusesEnum" [value]="status.value">
{{status.name}}
</mat-option>
</mat-select>
<conditions *ngif="statusSelect.selectedIndex==2" [conditionForm]="reasonsForm"> </conditions>
但这不是 working.any 为什么?
我想,我有一个适合您的解决方案,但是,您的 statusSelect
可能没有 selectedIndex
,而且事情不会那样工作。所以,这是我下面给出的代码=>
HTML:
<mat-form-field appearance="outline" fxFlex="45%">
<mat-label> select</mat-label>
<mat-select formControlName="status" [(value)]="selectedStatus" >
<mat-option *ngFor="let status of statusesEnum" [value]="status">
{{status.name}}
</mat-option>
</mat-select>
</mat-form-field>
Selected = {{selectedStatus?.name}}
<br>
<conditions *ngIf="selectedStatus?.value==2" [conditionForm]="reasonsForm" ></conditions>
TS:
export class AppComponent {
selectedStatus:any;
constructor() {}
reasonsForm:any;
statusesEnum = [{ name: "new", value: "1" }, { name: "passed", value: "2" }, { name: "done", value: "3" }]
}
NoteL 请检查Stackbliz demo link的link。
所以,我有一个简单的 angular material mat-select,看起来像这样:
<mat-form-field appearance="outline" fxFlex="45%">
<mat-label> select</mat-label>
<mat-select formControlName="status">
<mat-option *ngFor="let status of statusesEnum" [value]="status.value">
{{status.name}}
</mat-option>
</mat-select>
</mat-form-field>
这是我的状态枚举:
statusesEnum = [{ name: "new", value: "1" }, { name: "passed", value: "2" }, { name: "done", value: "3" }]
现在,我有这个元素:
<conditions [conditionForm]="reasonsForm" ></conditions>
我只想针对特定的 selected 值显示。 这是我尝试过的:
<mat-select #statusSelect formControlName="status">
<mat-option *ngFor="let status of statusesEnum" [value]="status.value">
{{status.name}}
</mat-option>
</mat-select>
<conditions *ngif="statusSelect.selectedIndex==2" [conditionForm]="reasonsForm"> </conditions>
但这不是 working.any 为什么?
我想,我有一个适合您的解决方案,但是,您的 statusSelect
可能没有 selectedIndex
,而且事情不会那样工作。所以,这是我下面给出的代码=>
HTML:
<mat-form-field appearance="outline" fxFlex="45%">
<mat-label> select</mat-label>
<mat-select formControlName="status" [(value)]="selectedStatus" >
<mat-option *ngFor="let status of statusesEnum" [value]="status">
{{status.name}}
</mat-option>
</mat-select>
</mat-form-field>
Selected = {{selectedStatus?.name}}
<br>
<conditions *ngIf="selectedStatus?.value==2" [conditionForm]="reasonsForm" ></conditions>
TS:
export class AppComponent {
selectedStatus:any;
constructor() {}
reasonsForm:any;
statusesEnum = [{ name: "new", value: "1" }, { name: "passed", value: "2" }, { name: "done", value: "3" }]
}
NoteL 请检查Stackbliz demo link的link。