Я хочу использовать компонент автозаполнения PrimeNG, но он не работает должным образом.Если вы вводите что-то в поле ввода, выполняется метод completeMethod, но результаты не отображаются.Сначала я протестировал completeMethod, и он отлично работает и правильно фильтрует массив, но компонент не показывает список предложений с моими значениями, вместо этого он постоянно показывает загрузочный счетчик.После того, как вы введете что-то еще, нажмите любую другую клавишу или щелкните в другом месте, где отображаются результаты, но счетчик загрузки все еще там.
Я уже искал решения, но не нашел ничего полезного для моей проблемы.Я читал, что есть некоторые общие проблемы с выпадающим щелчком, поэтому я попытался применить эти исправления, но мне это тоже не помогло.
Компонент, который содержит автозаполнение, его ChangeDetectionStrategy установлен на OnPush
Вот мой код:
Компонент:
<p-autoComplete
[formControlName]="formName"
[suggestions]="options"
(completeMethod)="filterMethod($event)"
[dropdown]="true"
field="label"
[multiple]="true"
[forceSelection]="true"
[minLength]="3"
(onDropdownClick)="handleDropdownClick($event)"
></p-autoComplete>
Метод фильтра:
filterMethod(event: { query: string; originalEvent: any }) {
this.service
.getSelectItemsByService(this.id)
.subscribe(options => {
this.options = this.filter(event.query, options).slice();
});
}
private filter(query: string, options: SelectItem[]): SelectItem[] {
return query
? options.filter(value =>
value.label
.toLowerCase()
.trim()
.includes(query.toLowerCase().trim())
)
: options;
}
Заранее спасибо!