首页 > 解决方案 > ng2-completer 选择事件未在鼠标单击时触发

问题描述

正如问题所暗示的那样,我在将selected事件应用于ng2-completer.

这似乎也是一个未解决的问题,ng2-completer因为他们尚未在 Github 上发布任何针对此问题的修复程序。但是,目前还没有变通的解决方案。

这是我使用的代码。

HTML 模板:

<ng2-completer 
   [(ngModel)]="searchStr"
   [datasource]="items"
   [minSearchLength]="0"
   [openOnFocus]="true"
   [placeholder]="'Please enter'"
   [textNoResults]="false"
   [maxChars]="6"
   (keyup)="onKeyDown($event)"
   (selected)="onItemSelect($event)"
   (blur)="onTouched()">
</ng2-completer>

零件:

onItemSelect(selected: CompleterItem): void {
   console.log('selected item');
   console.log(selected);
}

当我单击或双击任何项目时,它不会打印任何内容。我也尝试过输入 Enter 但它也不起作用。如果您有,请帮助建议解决此问题的解决方案。先感谢您。

标签: angularng2-completer

解决方案


由于 ng2-completer 在内部实现了 ControlValueAccessor,您可以使用 ngModelChange 事件发射器来获取发射值。

尝试这个:

<ng2-completer 
    [(ngModel)]="searchStr"
    [datasource]="items"
    [minSearchLength]="0"
    [openOnFocus]="true"
    [placeholder]="'Please enter'"
    [textNoResults]="false"
    [maxChars]="6"
    (ngModelChange)="onItemSelect($event)" >
</ng2-completer>

推荐阅读