我正在使用Angular 6创建一个表单,但是在表单中,我有50个或更多的字段(而不是'ts'文件中的字段),所以我必须声明所有字段,例如,某些情况下,我使用的是反应式表单
userCreation = new FormGroup({
firstName: new FormControl(''),
lastName: new FormControl(''),
........
so on
});
如果我使用的是ngModel模板驱动的模板,还必须定义对象中的所有文件
userCreation: {
firstName: any;
lastName: any;
...........
so on
};
反正有,所以我可以阻止此声明,或者必须遵循它,这是强制性的吗?
答案 0 :(得分:0)
您可以在其他文件中声明对象,例如:
Person.ts
:
export class Person {
firstname: string;
lastName: string;
...
}
您的主要.ts
文件:
let fg = this.formBuilder.group(
new Person()
)
答案 1 :(得分:0)
设置formGroup并将这些控件名称与formControlName映射到html元素所需的角反应式表单样式,否则会出现错误
related Error: Cannot find control with name: '....'
设置50表单控件可能很困难,因此,因为您需要设置formGroup和init并为该表单组创建html模板,因此对于这种情况,您可以创建表单动态阅读此(Demystifying dynamic Forms in Angular)或使用{ {3}}
来自的角度模板可以是可以设置橡皮擦的另一种选择 反应形式(但我仍然建议对复杂形式使用反应形式) ngx-formly