如何为 ng-multiselect-dropdown 的 onselect 事件传递多个项目
How to pass multiple items for onselect event for ng-multiselect-dropdown
我有一个多 select 下拉列表,其中有许多项目 select。截至目前,当我 select 单个项目时,该项目被传递给 Onselect
事件,并根据条件将来自另一个数组 newArrayAfterProjectFilter
的相应数据推送到 myDataList
,如下所示在 OnselectErp
。根据我的要求,当我尝试 select 下拉列表中的第二个项目时,只有第二个项目被推送到 OnselectErp
函数,而不是两个项目(第一个和第二个)。
如何正确执行此操作?
<ng-multiselect-dropdown *ngIf="showDropDown"
[placeholder]="'Erp Rfq Number'" [data]="dropdown_Erp"
[settings]="dropdownSettings" (onSelect)="OnselectErp($event)">
</ng-multiselect-dropdown>
OnselectErp(item: any) {
this.myDataList = [];
this.newArrayAfterProjectFilter.forEach(element => {
if (element.properties.map.aclrq_rfqNum == item.item_text) {
this.myDataList.push(element);
}
});
console.log(this.myDataList)
}
我需要更多详细信息才能重现您的问题并为您提供完整的解决方案。
但您可以尝试以下操作:
在HTML中添加[(ngModel)]="selectedItems"
,在对应的component.ts中添加selectedItems
属性
<ng-multiselect-dropdown *ngIf="showDropDown"
[placeholder]="'Erp Rfq Number'" [data]="dropdown_Erp"
[settings]="dropdownSettings" (onSelect)="OnselectErp($event)"
[(ngModel)]="selectedItems">
</ng-multiselect-dropdown>
在 UI 上创建一个按钮并点击调用以下函数:
filter() {
this.myDataList = this.newArrayAfterProjectFilter.filter(element =>
this.selectedItems.some(item=> element.properties.map.aclrq_rfqNum == item.item_text));
console.log(this.myDataList)
}
正如我所说,我还没有尝试过这个,但应该可以在没有或最小变化的情况下工作。
我有一个多 select 下拉列表,其中有许多项目 select。截至目前,当我 select 单个项目时,该项目被传递给 Onselect
事件,并根据条件将来自另一个数组 newArrayAfterProjectFilter
的相应数据推送到 myDataList
,如下所示在 OnselectErp
。根据我的要求,当我尝试 select 下拉列表中的第二个项目时,只有第二个项目被推送到 OnselectErp
函数,而不是两个项目(第一个和第二个)。
如何正确执行此操作?
<ng-multiselect-dropdown *ngIf="showDropDown"
[placeholder]="'Erp Rfq Number'" [data]="dropdown_Erp"
[settings]="dropdownSettings" (onSelect)="OnselectErp($event)">
</ng-multiselect-dropdown>
OnselectErp(item: any) {
this.myDataList = [];
this.newArrayAfterProjectFilter.forEach(element => {
if (element.properties.map.aclrq_rfqNum == item.item_text) {
this.myDataList.push(element);
}
});
console.log(this.myDataList)
}
我需要更多详细信息才能重现您的问题并为您提供完整的解决方案。 但您可以尝试以下操作:
在HTML中添加[(ngModel)]="selectedItems"
,在对应的component.ts中添加selectedItems
属性
<ng-multiselect-dropdown *ngIf="showDropDown"
[placeholder]="'Erp Rfq Number'" [data]="dropdown_Erp"
[settings]="dropdownSettings" (onSelect)="OnselectErp($event)"
[(ngModel)]="selectedItems">
</ng-multiselect-dropdown>
在 UI 上创建一个按钮并点击调用以下函数:
filter() {
this.myDataList = this.newArrayAfterProjectFilter.filter(element =>
this.selectedItems.some(item=> element.properties.map.aclrq_rfqNum == item.item_text));
console.log(this.myDataList)
}
正如我所说,我还没有尝试过这个,但应该可以在没有或最小变化的情况下工作。