Я использую ng-select и специально использую typeahead для извлечения списка с сервера в качестве пользовательских типов.Следующий пример, как описано в примере typeahead: people3$
.Мое требование состоит в том, чтобы добавить значение, когда пользователь нажимает кнопку (у меня есть id
и label
и соответствующий объект), но я не понимаю:
- Как я могу переместить элемент на
item : Observable<any[]>
Я попытался сделать this.item = concat(of([{label:this.field.display,id:value}]))
, оно выдвигает значение, но оно не отражает значение в ng-select, пока я не щелкну где-нибудь за пределами элемента. - Я попытался это решение с помощью
@ViewChild
и на this.ngSelect.items = [{label:this.field.display,id:value}]
все еще не отображается значение в ng-select.
После добавления значения в группу я добавилобъект, но все равно он не показывает, если я щелкну где-нибудь, скоро будет показано значение.
Я хочу знать
- Что может быть причиной такого поведения.
- предпочтительный способ вставки элементов в
Observable<any[]>
Вот моя конфигурация ng-select:
<ng-select class="form-control ng-select-padding"
[items]="referenceItems | async"
[hideSelected]="true"
[loading]="searchFailed"
[typeahead]="searchReferenceItems"
bindLabel="label"
bindValue="id"
(change)="setField($event)"
(blur)="onUpdated()"
[formControlName]="field.name" ngDefaultControl>
</ng-select>
//@ TS file
searchReferenceItems = new Subject<object>();
referenceItems: Observable<any[]> ;
Спасибо за вашу любезную помощь