问题
As the question suggests, I got problem applying the selected
event for ng2-completer
. The event value is referred here https://www.npmjs.com/package/@ng-select/ng-select.
It also seems to be an open issue with ng2-completer
because they haven't release any fix for this issue on Github. https://github.com/oferh/ng2-completer/issues/302 However there is no work-around solution yet.
Here's the code that I use:
HTML template:
<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>
Component:
onItemSelect(selected: CompleterItem): void {
console.log('selected item');
console.log(selected);
}
It doesn't print anything when I click or double click on any item. I've tried typing Enter as well but it also doesn't work. Please help to suggest a work around solution for this if you have. Thank you in advance.
回答1:
Since ng2-completer implemented ControlValueAccessor internally, you can use ngModelChange event emitter to get emitted value.
Try this:
<ng2-completer
[(ngModel)]="searchStr"
[datasource]="items"
[minSearchLength]="0"
[openOnFocus]="true"
[placeholder]="'Please enter'"
[textNoResults]="false"
[maxChars]="6"
(ngModelChange)="onItemSelect($event)" >
</ng2-completer>
来源:https://stackoverflow.com/questions/60071145/ng2-completer-selected-event-not-triggered-on-mouse-click