我正在使用ng-multiselect-dropdown
<ng-multiselect-dropdown [placeholder]="'Choose workers'" [data]="allWorkers"
[(ngModel)]="workers.selectedItems" [settings]="dropdownSettings"
(onSelect)="onItemSelect($event)" (onSelectAll)="onSelectAll($event)">
</ng-multiselect-dropdown>
{{selectedItems}}
我从api那里得到了工人
allWorkers: string[] = [];
在我的ngOnInit
this.workersService.getUsers().subscribe(
(val: any[]) => {
this.allWorkers = val.map(user => user.name + ' ' + user.city);
console.log(this.allWorkers);
}
)
一切正常,但是.. 如果我有
onItemSelect(item: any) {
}
如果要从列表中删除值,则要删除
所以,如果我有输入:
,然后选择Name Surname2 我只想选择
我尝试过类似的事情
onItemSelect(item: any) {
const index = this.allWorkers.indexOf(item, 0);
if (index > -1) {
this.allWorkers.splice(index, 1);
}
}
但是不起作用。
答案 0 :(得分:5)
您应该使用过滤器方法:
this.allWorkers = this.allWorkers.filter(worker => worker !== item);