angular автозаполнение ввода, selectItem показывает undefined - PullRequest
0 голосов
/ 19 июня 2020

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...