<div *ngFor="let filterItem of fields[0].searchParameters; let i = index" class="custom">
<label>{{filterItem.fieldlabel}}</label>
<div class="form-group">
<span [ngSwitch]="filterItem.fieldtype">
<input ngDefaultControl [focusOnInit]="i" *ngSwitchCase="'INPUT'" [ngModel]="selectedDevice" [ngModelOptions]="{standalone: true}" class="form-control-full" (change)="changeFilterValue(filterItem.value1)" (keydown)="keyDownFunction($event)"/>
<select *ngSwitchCase="'LOV'" class="form-control custom-select" type="text" [(ngModel)]="filterItem.value1" [ngModelOptions]="{standalone: true}" (change)="changeFilterValue(filterItem)">
<option value="" ></option>
<option *ngFor="let value of filterItem.values" [(value)]="value.code" required>{{value.displayName}}</option>
</select>
<select *ngSwitchCase="'LOVD'" class="form-control custom-select" type="text" [(ngModel)]="filterItem.value1" [ngModelOptions]="{standalone: true}" (change)="changeFilterValue(filterItem)">
<option value="" ></option>
<option [hidden]="filterItem.defaultvalue1!=selectedLabel" *ngFor="let value of filterItem.values" [(value)]="value.code" required>{{value.displayName}}</option>
</select>
</span></div></div>
现在我有方法:
changeFilterValue(value: any) {
this.selectedLabel = value.fieldlabel;
console.log('selected label',this.selectedLabel);
//this.selectFilterEmit.emit(this.selectedFilter);
}
但我不知道我改变了什么下拉菜单。有什么建议我怎么能检测出来?
答案 0 :(得分:1)
您可以传入方法调用
中的下拉列表(change)="changeFilterValue(filterItem, dropdownId)"
并根据您的方法
进行切换changeFilterValue(value: any, dropdownId: int) {
switch(dropdownId) {
case 0:
// do for dropdown with ID 0
break;
default:
// do for default
break;
}
}
如果您只想发出哪个下拉列表,则不需要切换,只需将ID(或任何您想要传递的标识参数)传递给需要它的代码部分。
答案 1 :(得分:0)
我建议你为两个不同的下拉菜单提供两种不同的功能。