我想取我在 Angular 8.2 中选择的"id">
<select (change)='changeProvider($event)' class="form-control" id="field_provider"
name="provider" formControlName="providerId">
<option [ngValue]="providerOption.id"
*ngFor="let providerOption of providers; trackBy: trackById">
{{ providerOption.indentifier }}
</option>
</select>
//控制器
changeProvider(event$: any): void {
event$.target.value <-- "1: 5e450f7aa2aa82760cee469c"
我在开头添加了"1:">
"1: 5e450f7aa2aa82760cee469c">而不是"5e450f7aa2aa82760cee469c">
我不知道这是我缺少的选项还是什么。
因为我不认为必须从字符串中删除"1:"才能使其为我工作非常优雅
我认为你应该使用值:
<select (change)='changeProvider($event)' class="form-control" id="field_provider"
name="provider" formControlName="providerId">
<option *ngFor="let providerOption of providers; [value]="providerOption.id" trackBy: trackById">
{{ providerOption.indentifier }}
</option>
</select>
如果你想要 Selected Id,你可以将其绑定到变量 在 TS 中
selectedprovider = "";
changeProvider(): void {
alert(this.selectedprovider);
}
在 HTML 中添加 [(ngModel(]="selectedprovider">
<select (change)='changeProvider()' id="field_provider"
#provider="ngModel" name="provider" [(ngModel)]="selectedprovider">
<option [ngValue]="providerOption.id"
*ngFor="let providerOption of providers; trackBy: trackById">
{{ providerOption.indentifier }}
</option>
</select>