有没有一种方法可以自动从模型创建FormGroup?
如果我有一个具有多个属性的模型:
型号:人
firstName: string,
lastName: string,
street: string
country: string
....
我想从中创建一个简单的FormGroup:
表格:FormGroup
firstName: FormControl,
lastName: FormControl,
street: FormControl,
country: FormControl
....
在我看来,为模型中的每个属性显式定义一个FormControl/FormGroup/FormArray是“肮脏的”:
formBuilder.group({
firstName: person.firstName,
lastName: person.lastName,
street: person.street,
country: person.country,
...
});
每次来自后端的API更改时,我都必须调整模型和表单映射。
是否有某种生成器可以帮助我自动执行FormGroup的映射/创建?
最佳答案
formBuilder.group({});
person.forEach(
(prop) => {
formBuilder.addControl(prop , new FormControl(person[prop], Validators.compose([ Validators.required])));
}
);
这不是一个完整的解决方案,因为验证器肯定会针对每个属性进行更改。