【发布时间】:2017-10-11 15:22:32
【问题描述】:
我正在尝试创建一个自定义的 typeahead,每次用户输入内容时搜索我的 API 但它不起作用。它甚至没有进入autocomplete() 函数。我正在使用 Angular 4 CLI (1.4.2)、bootstrap 4 和 ngx-bootstrap (1.9.3)。我做错了什么?
组件.ts
public autoCompleteRef = this.autoComplete.bind(this);
public autoComplete() {
let searchParams = new URLSearchParams();
searchParams.set('search', this.autoCompleteSearchTerm);
return this.http.get(this.api_url, {search: searchParams, headers: headers})
.map(res => res.json())
.map((el)=> {
return el.map((data)=> {
return ({id: data.id, name: data.name});
});
})
.toPromise();
}
public typeaheadOnSelect(e): void {
console.log('Selected value: ', e.value);
}
html
<input class="form-control"
[(ngModel)]="autoCompleteSearchTerm"
[typeahead]="autoCompleteRef"
[typeaheadOptionField]="'name'"
[typeaheadWaitMs]="300"
[typeaheadMinLength]="1"
(typeaheadOnSelect)="typeaheadOnSelect($event)">
【问题讨论】:
标签: twitter-bootstrap angular typescript ngx-bootstrap