completeMethod事件未在焦点上的primeNG自动完成中触发



我正在尝试在应用程序中使用自动完成组件。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-

使用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文件。

AutoComplete ref触发handleDropdownClick(),就好像用户单击了下拉菜单并作为参数添加self一样。

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

最新更新