В ng-select есть выходное событие, называемое search
. Вы можете использовать это для фильтрации данных
Вы можете сделать следующие изменения в своем TS и html Я добавил еще одно свойство в класс activePeople
, который будет хранить отфильтрованные данные.
TS
import { Component, OnInit } from '@angular/core';
import { DataService } from '../data.service';
@Component({
selector: 'template-header-footer-example',
templateUrl: './template-header-footer-example.component.html',
styleUrls: ['./template-header-footer-example.component.scss']
})
export class TemplateHeaderFooterExampleComponent implements OnInit {
people = [];
selectedPeople = [];
activePeople = [];
constructor(private dataService: DataService) {
}
ngOnInit() {
this.dataService.getPeople().subscribe(items => {
this.people = items;
this.activePeople = items;
});
}
selectAll() {
this.selectedPeople = this.activePeople.map(x => x.name);
}
unselectAll() {
this.selectedPeople = [];
}
onSearch(event) {
this.activePeople = event.items;
}
}
HTML
<ng-select
[multiple]="true"
[items]="people"
[(ngModel)]="selectedPeople"
placeholder="Select people"
bindLabel="name"
bindValue="name"
(search)="onSearch($event)">
Вы можете найти больше таких событий на https://github.com/ng-select/ng-select/blob/master/src/demo/app/examples/output-events-example/output-events-example.component.html