Я использую шаблон для примера результата из ng-bootstrap.github.io.Как установить начальное значение по умолчанию/начальное значение для Angular 2 ng-bootstrap?
Это прекрасно работает. Я использую его для ввода пользователем города в форму.
Проблема заключается в редактировании деталей пользователя. Я не уверен, как заполнить ранее сохраненный город для этого пользователя. Это то, что я имею в HTML:
<template #rt let-r="result" let-t="term">
{{ r.name}}
</template>
<input (blur)="lostFocus($event)" class="form-control" formControlName="city_obj" type="text" [(ngModel)]="typeaheadModel" [ngbTypeahead]="search" [resultTemplate]="rt" [inputFormatter]="formatter" (selectItem) = "selectItem($event)">
Это из компонента:
search = (text$: Observable<string>) =>
text$
.debounceTime(200)
.map(term => term === '' ? []
: this.cities.filter(v => new RegExp(term, 'gi').test(v.name)).slice(0, 10));
formatter = (x: {name: string}) => x.name;
Я использую модель привода формы.
В базе данных я сохраняю только идентификатор города для пользователя, так как города находятся в отдельной таблице.
Итак, в форме строителя у меня есть поле city_id и city_obj.
API будет сохранять только city_id и игнорировать city_obj.
Я использую событие selectItem для установки поля city_id в компоненте.
Итак, как я могу установить ранее сохраненный город для ввода и сохранения функциональности типа?
Можете ли вы обновить свой ответ с помощью кода решения? – Chetan
Можете ли вы обновить исходный код после решения, пожалуйста? @igor –