如何从 Angular 6 中的选定下拉列表将 Id 传递到我的 API 请求?
How to pass Id to my API request from a selected dropdown in Angular 6?
我正在使用 Angular 6,这里有一个来自 API 响应的下拉列表。
<select
class="form-control"
name="empName"
[(ngModel)]="allData.secondEmp"
(change)="typeChange()"
(blur)="getid($event)"
required
>
<option
*ngFor="let employee of Employees"
value="{{employee.secondEmp}}">{{employee.firstName}}</option>
</select>
这里我有这样的数组
employees = [{id: 1, firstEMp: 'kaushik', secondEmp: 'krishna'}....]
这里我想在更改下拉功能时在我的请求中获取 id。
我知道我们需要更改 value="{{employee.id}}"
但我这里有一些其他 *ngIf
条件所以我不能在这里更改 value
。还有其他解决方案吗? TIA
[ngValue] = "{secondEmployee: employee.secondEmp , id: employee.id }"
试试这个
在您的模板文件中:使用数据属性
<select
class="form-control"
name="empName"
[(ngModel)]="allData.secondEmp"
(change)="typeChange()"
(blur)="getid($event)"
required>
<option
*ngFor="let employee of Employees"
value="{{employee.secondEmp}}"
[attr.data-empid] = "employee.id">{{employee.firstName}}</option>
</select>
在 TS 文件中:获取您的 ID
getid(e) {
const targetIndex = e.target;
const res = targetIndex.options[targetIndex.selectedIndex].dataset.empid;
console.log(res);
}
我正在使用 Angular 6,这里有一个来自 API 响应的下拉列表。
<select
class="form-control"
name="empName"
[(ngModel)]="allData.secondEmp"
(change)="typeChange()"
(blur)="getid($event)"
required
>
<option
*ngFor="let employee of Employees"
value="{{employee.secondEmp}}">{{employee.firstName}}</option>
</select>
这里我有这样的数组
employees = [{id: 1, firstEMp: 'kaushik', secondEmp: 'krishna'}....]
这里我想在更改下拉功能时在我的请求中获取 id。
我知道我们需要更改 value="{{employee.id}}"
但我这里有一些其他 *ngIf
条件所以我不能在这里更改 value
。还有其他解决方案吗? TIA
[ngValue] = "{secondEmployee: employee.secondEmp , id: employee.id }"
试试这个
在您的模板文件中:使用数据属性
<select
class="form-control"
name="empName"
[(ngModel)]="allData.secondEmp"
(change)="typeChange()"
(blur)="getid($event)"
required>
<option
*ngFor="let employee of Employees"
value="{{employee.secondEmp}}"
[attr.data-empid] = "employee.id">{{employee.firstName}}</option>
</select>
在 TS 文件中:获取您的 ID
getid(e) {
const targetIndex = e.target;
const res = targetIndex.options[targetIndex.selectedIndex].dataset.empid;
console.log(res);
}