Как мне сопоставить выпадающий список выбора Mat с FormBuilder с FormControlName? Вложенный Formbuilder для AddressType не работает ниже. Второй вариант, однако я не могу указать 3 члена поля напрямую.
Хотел бы сопоставить адрес типа DTO с формой, в которой указаны указанные c поля. Это возможно или нужна практика? или я должен просто придерживаться formControlName?
<form [formGroup]="customerForm">
...
...
<mat-form-field appearance="outline"
<mat-label>Address Type</mat-label>
<mat-select
formControlName = "addressType"
(selectionChange)="addressTypeChangeEvent($event)">
<mat-option
*ngFor="let item of addressTypeObservable | async"
[value]="item">
{{item.addressTypeDescription}
</mat-option>
</mat-select>
</mat-form-field>
Вариант 1: Это не работает:
this.customerForm = this.formBuilder.group({
'customerName': [null, [Validators.required, Validators.min(1), validatorDropdown]],
'membershipCode': [null, []],
'addressType': this.formBuilder.group({
'addressTypeId': [null, [Validators.required, Validators.min(1), validatorDropdown]],
'addressTypeCode': [null, []],
'addressTypeDescription': [null, []]
})
});
Ошибка: control.registerOnChange не является функция
Вариант 2: это работает, однако я не могу указать 3 члена поля непосредственно для AddressTypeDTO
this.customerForm = this.formBuilder.group({
'customerName': [null, [Validators.required, Validators.min(1), validatorDropdown]],
'membershipCode': [null, []],
'addressType': [null, []]
})
});