У меня есть служба, которая возвращает (плоский) JSON, как это:
{
Name: "name",
email: "name@email.com",
address: "some address",
city: "some city"
}
И мне нужно загрузить этот JSON в следующую (вложенную) реактивную форму:
this.resourceForm = this.formBuilder.group({
formArray: this.formBuilder.array([
this.formBuilder.group({
name: [null, Validators.required],
email: [null, Validators.required],
}),
this.formBuilder.group({
address: [null, Validators.required],
city: [null, Validators.required],
}),
])
});
Я попытался использовать следующий код, но он не работает, потому что форма не имеет той же структуры, что и данные json:
protected loadResource() {
if (this.currentAction === 'edit') {
this.route.paramMap.pipe(
switchMap(params => this.resourceService.getById(+params.get('id')))
).subscribe(
(resource) => {
this.resource = resource;
this.resourceForm.patchValue(resource);
});
}
}
Как я могу (автоматически?) Загрузить эти плоские данные json, загруженные во вложенныереактивная форма? Есть ли общий способ сделать это?