当用户从给定选项中进行选择时,我正在调用api传递参数。问题是我只想传递用户选择的参数并返回相应的结果。 当前,如果选择了所有下拉菜单,则api返回结果,而不是仅选择一个下拉菜单时返回。
nextpage(){
this.httpClient.get('https://crm.c:3000/cal_lg', {
params: {
filter: '[["call_status","=","' + this.selectedType + '"],["partner_mobile","=","' + this.selectedUser + '"]]',
pageNumber: '0',
pageSize: '50'
},
observe: 'response'
}).subscribe(users => {
console.log(users);
})
} }
这是html代码:
<select [(ngModel)] = "selectedType" allow-clear="true" (change)="nextPage()">
<option *ngFor="let activity of filteredType" [ngValue]="activity">{{activity}}</option>
</select>
<select [(ngModel)] = "selectedUser" (change)= "nextPage()" >
<option *ngFor="let test of filteredUsers " [ngValue]="test">{{test}}</option>
</select>
答案 0 :(得分:0)
这位于您的逻辑中,您需要根据需要更改逻辑。我猜这里的问题是因为您要为不同的下拉菜单调用相同的函数,所以结果总是最新的。
您可以根据每个下拉菜单的选择创建两个不同的API调用,或使用现有代码添加if条件
答案 1 :(得分:0)
如果要将“选定值”传递给给定方法: nextPage()
<select [(ngModel)] = "selectedType" allow-clear="true" (change)="nextPage($event.target.value)">
<option *ngFor="let activity of filteredType" [ngValue]="activity">{{activity}}</option>
</select>
<select [(ngModel)] = "selectedUser" (change)= "nextPage($event.target.value)" >
<option *ngFor="let test of filteredUsers " [ngValue]="test">{{test}}</option>
</select>
这是一种获取选项当前选定值的方法。 可能会帮助您进一步调用API。