Atm*_*tha 11 angular angular-material-5
如何在mat-select angular中获取所选选项值的id 5.仅获取onchangeevent中所选选项的值.但是如何获得所选选项值的id.
client.component.html
<mat-form-field>
<mat-select placeholder="Client*" #clientValue (change)="changeClient($event)">
<mat-option *ngFor="let client of clientDetails" [value]="client.clientName">
{{client.clientName | json}}
</mat-option>
</mat-select>
</mat-form-field>
client.component.ts file
export class Client{
changeClient(event){
console.log(event);
}
}
Run Code Online (Sandbox Code Playgroud)
Viv*_*shi 23
为此你需要:
更改(change)="changeClient($event)"到(change)="changeClient($event.value)"
从... [value]="client.clientName"到[value]="client.id"
<mat-form-field>
<mat-select placeholder="Client*" #clientValue (change)="changeClient($event.value)">
<mat-option *ngFor="let client of clientDetails" [value]="client.id">
{{client.clientName}}
</mat-option>
</mat-select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
Sta*_*low 16
这个问题是针对Angular 5的,但是对于其他使用较新版本Angular的用户而言,该(change)事件不适用于垫选。
在Angular 6中,(change)事件已更改为(selectionChange)。
因此它将是:
<mat-form-field>
<mat-select placeholder="Client*" #clientValue (selectionChange)="changeClient($event.value)">
<mat-option *ngFor="let client of clientDetails" [value]="client.id">
{{client.clientName}}
</mat-option>
</mat-select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)
并在组件中:
changeClient(value) {
console.log(value);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30839 次 |
| 最近记录: |