要解决这个问题,您可以尝试以下步骤:
- 确认您已正确导入 NgbTypeaHead 模块,并将其添加到您的模块中:
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
@NgModule({
imports: [NgbTypeaheadModule, ...],
...
})
export class YourModule { }
- 确保您的数据源返回 Observable,您的 select 方法应该返回一个 Observable 类型的值:
search = (text$: Observable) => {
return text$
.debounceTime(300)
.distinctUntilChanged()
.switchMap(term => this.remoteSearchService.search(term))
.catch(() => {
return Observable.of([]);
});
}
- 确认您正确地设置了 inputFormatter 和 resultFormatter 属性:
public formatter = (result: { name: string }) => result.name;
- 确认您正确地设置了 NgbTypeahead 指令的属性:dropup、placement、container 和 editable:
如果您遵循了上述步骤并仍然无法看到选项列表,那么您可能需要检查以下几点:
- 确认您的数据源至少包含 5 条记录,以便空间触发类型提示
- 您可能需要在样式表中添加 bootstrap 样式,默认情况下 NgbTypeahead 依赖于它。
希望这能帮助到您解决此问题。