Я пытаюсь использовать компонент Typeahead ng-bootstrap
в реактивной форме с угловым 2 и, посмотрев код примера на Typeahead's documentation, я не могу заставить его работать ,Как использовать ng-bootstrap Компонент Typeahead в реактивной форме
В настоящее время у меня есть что-то вроде:
<input type="text" aria-describedby="cityValid" class="form-control" id="inputCity" [formControl]="userForm.controls.city" [ngbTypeahead]="search">
С в search
функции почти идентичного как пример кода, но это не удается с помощью следующей трассировки стека
error_handler.js:53 TypeError: Cannot read property 'subscribe' of undefined
at NgbTypeahead._subscribeToUserInput (typeahead.js:158)
at NgbTypeahead.ngOnInit (typeahead.js:52)
at DebugAppView._View_UserFormComponent0.detectChangesInternal (UserFormComponent.ngfactory.js:1093)
at DebugAppView.AppView.detectChanges (view.js:271)
at DebugAppView.detectChanges (view.js:376)
at DebugAppView.AppView.detectViewChildrenChanges (view.js:297)
at DebugAppView._View_ExecutionFormComponent3.detectChangesInternal (ExecutionFormComponent.ngfactory.js:551)
at DebugAppView.AppView.detectChanges (view.js:271)
at DebugAppView.detectChanges (view.js:376)
at DebugAppView.AppView.detectContentChildrenChanges (view.js:289)
Что я делаю не так? Было бы здорово иметь общее руководство о том, как использовать компонент ng-bootstrap в Reactive Forms, так как пример основан на основанных на шаблонах.
Спасибо!
Я пытаюсь выяснить, как связать вызов сервера с текстом $ observable, чтобы получить результаты с сервера. Это будет смешение синхронной цепи выше с асинхронным вызовом сервера, но это не будет летать. Кто-нибудь знает? –
Вы заглянули в документацию [Typeahead] (https://ng-bootstrap.github.io/#/components/typeahead)? Существует [пример] (https://ng-bootstrap.github.io/app/components/typeahead/demos/http/plnkr.html) компонента Typeahead, который извлекает данные из википедии. Я думаю, это то, что вы ищете. – llekn
В конце концов я нашел это, спасибо. В моем случае я добавил это в цепочку перед вызовом карты: '.switchMap (term => Observable.fromPromise (this.myStore.getData())), где getData() возвращает обещание, которое разрешается с помощью массива поиска объекты результата –