Предположим, у меня есть следующая управляемая моделью форма:
this.addressForm = this.formBuilder.group({
address: this.formBuilder.group({
placeId: [this.address.placeId],
description: [this.address.description]
})
});
И следующий шаблон:
<form [formGroup]="addressForm" (ngSubmit)="updateAddress()" novalidate>
<div class="form-group">
<div class="input-group">
<input type="text"
formControlName="address"
placeholder="Type in you address"
[ngbTypeahead]="chooseAddress"
[inputFormatter]="addressFormatter"
[resultFormatter]="addressFormatter"
autocomplete="off"
class="form-control">
</div>
...
</form>
адрес форматирования:
addressFormatter = param => param.description;
Скажем, address
— это объект с двумя свойствами: placeId
и description
.
Кажется невозможным иметь дело с formGroup
(здесь address
) вместо formControl
(здесь address.placeId
) и по-прежнему предварительно заполнять форму одним из свойств объекта (например, address.description
).
Я получаю следующую ошибку:
Ошибка в классе ./UserAccountAddressComponent UserAccountAddressComponent — встроенный шаблон: 8:9, вызванная: control.registerOnChange не является функцией TypeError: control.registerOnChange не является функцией
Мне не удалось отобразить одно свойство объекта в поле (address.description
) и использовать другое при отправке формы (address.placeId
), но при этом я мог предварительно заполнить форму одним из свойств объекта (здесь address.description
).
Может кто-нибудь помочь?