Событие completeMethod не запускается в primeNG Автозаполнение в фокусе - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь использовать компонент автозаполнения в моем приложении. Автозаполнение в HTML выглядит примерно так:

<p-autoComplete [(ngModel)]="student" name="basic"
  [suggestions]="filteredStudents"
  (completeMethod)="filterStudents($event)"
  field="name" [size]="30"
  placeholder="Select student" [minLength]="0">
</p-autoComplete>

Если вы заметили, что я указал "minLength" как 0. Необходимость в этом состояла в том, чтобы попытаться загрузить предложения, как только я сосредоточусь на поле ввода автозаполнения (без фильтрации, конечно). Но, к сожалению, этого не происходит. Интересно, что когда я ввожу некоторые символы и убираю их, появляются предложения, как и ожидалось. Что-то, что я мог бы сделать здесь неправильно?

Просто замечание, что я также пытался использовать событие "onFocus", которое тоже не сработало.

TIA

1 Ответ

1 голос
/ 16 апреля 2020

Использование handleDropdownClick() может использоваться в качестве обходного пути.

<p-autoComplete #ac [(ngModel)]="student" name="basic"
 [suggestions]="filteredStudents"
 (onFocus)="triggerOverlayPanel(ac)"
 (completeMethod)="filterStudents($event)"
 field="name" [size]="30"
 placeholder="Select student" [minLength]="0">
</p-autoComplete>

ts file.

Триггер автозаполнения ref handleDropdownClick(), как если бы пользователь щелкнул по раскрывающемуся списку и в качестве аргумента добавил себя.

 triggerOverlayPanel(ac: AutoComplete){
  // condition added to check if no chars need to display result 
  if(ac.minLength === 0) {
   ac.handleDropdownClick(ac);
  }
 }
...