HTML -
<div class="combobox">
<input type="text" [(ngModel)]="inputItem" [ngModelOptions]="{standalone: true}" (ngModelChange)="getFilteredList()" class="combobox-input" placeholder="Search User" [ngClass]="{'error': showError}">
<span *ngIf="showError" class="error-text"><i>Invalid Selection.</i></span>
<div class="combobox-options" *ngIf="!listHidden">
<list-item *ngFor="let item of filteredList;let i = index" (click)="selectItem(i)" [ngClass]="{'selected': i===selectedIndex}">{{item}}</list-item>
</div>
</div>
TS -
getUserList(){
this.commonAddEditTeamService.userList()
.subscribe((res:any) => {
this.response = res.map(x=>x.name);
})
}
getFilteredList() {
this.listHidden = false;
// this.selectedIndex = 0;
if (!this.listHidden && this.inputItem !== undefined) {
this.filteredList = this.response.filter((item) => item.toLowerCase().startsWith(this.inputItem.toLowerCase()));
}else{
this.filteredList = this.response;
}
}
selectItem(ind) {
this.inputItem = this.filteredList[ind];
this.listHidden = true;
this.selectedIndex = ind;
}
это раскрывающийся фильтр автоматического заполнения ввода. Когда я выбираю любое имя из раскрывающегося списка после фильтрации, оно не выбирается. Когда я консолю selectItem, он показывает undefined.