ngbtooltip - NgbTypeahead selectItem haz clic en el elemento ngBootstrap angular2
ngbdropdown (1)
En esta respuesta , me fue explicado que use selectItem para obtener el evento seleccionado.
Pero en este punto, el modelo que encuaderné al cuadro de texto sigue siendo el texto original que escribió el usuario, no el elemento seleccionado.
yo suelo
(selectItem)="search(model)"
para obtener el evento, y en TS
search(model) {
this._service.search(model).subscribe(
results => this.results = results,
error => this.errorMessage = <any>error);
}
pero como se mencionó anteriormente, eso llama a mi backend con el texto escrito por el usuario, no el texto completo del elemento seleccionado de typeahead.
Mis registros de backend
2017/03/24 20:44:14 /api/typeahead/ok
2017/03/24 20:44:14 /api/search/ok
donde el segundo debe ser / api / search / $ actualSelectedItem.
Debería usar $event
para obtener los elementos seleccionados como se muestra a continuación
<input type="text" class="form-control" (selectItem)="selectedItem($event)" [(ngModel)]="model" [ngbTypeahead]="search" [resultFormatter]="formatter" />
<hr>
<pre>Model: {{ model | json }}</pre>
clicked item {{clickedItem}}
Tu método debe ser como
selectedItem(item){
this.clickedItem=item.item;
console.log(item);
}