Если вы хотите обновить FormGroup
, вы можете использовать patchValue
метод. Этот метод принимает в качестве объекта параметра, ключи которого совпадают с FormGroup
именами элементов управления.
Например:
this.editForm.patchValue({
id: data.id,
date: data.date
checkboxValue: {...data.checkboxValue}
}
Так что, если checkboxValue также является FormGroup, вы можете обновить этот элемент управления следующим образом:
this.editForm.get('checkboxValue').patchValue({...data.checkboxValue});
Ваше решение. Я не знаю интерфейс получения данных в подписке, но думаю, что он может быть правильным:
this.httpClientService.getIrregularDaysById(+irregDayId).subscribe(data => {
this.irregDay = {...data};
this.irregDay.openFrom = this.formatTime(data.openFrom);
this.irregDay.openTo = this.formatTime(data.openTo);
this.irregDay.date = this.formatDate(data.date);
this.irregDay.closed = this.formatClosed(data.closed);
this.editForm.patchValue({
id: data.id,
date: data.date or this.irregDay.date if you need formatted data
checkboxValue: {
closed: data.closed or this.irregDay.closed if you need formatted data
openFrom: data.openFrom or this.irregDay.openFrom if you need formatted data
openTo: data.openTo or this.irregDay.openTo if you need formatted data
}
});
});