模型驱动/反应表单:从模型到FormGroup的自动映射?

时间:2017-05-17 07:23:23

标签: angular validation typescript angular2-template angular2-forms

有没有办法从模型中自动创建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?

1 个答案:

答案 0 :(得分:0)

formBuilder.group({});

person.forEach(
        (prop) => {
            formBuilder.addControl(prop , new FormControl(person[prop], Validators.compose([ Validators.required])));
        }
    );

不是一个完整的解决方案,因为验证器肯定会为每个属性进行更改。