在下面的代码中,this.fb
是FormBuilder
实例
return this.fb.group({
name: ['', [<any>Validators.required]],
phone: ['', [<any>Validators.required]],
email: ['', [<any>Validators.required, Validators.email]],
website: ['', [<any>Validators.pattern(web_pattern)]]
tax_code: ['', [<any>Validators.required,Validators.maxLength(50)]],
owner: this.fb.group({
first_name: ['', [<any>Validators.required, Validators.maxLength(30)]],
last_name: ['', [<any>Validators.required, Validators.maxLength(30)]],
phone: ['', [<any>Validators.required]],
email: ['', [<any>Validators.required, Validators.email]],
password: ['', [<any>Validators.required]],
})
});
在使用ng build --prod
构建此代码时,它无法声明:属性"controls"在类型"AbstractControl"上不存在。它的owner
密钥有问题,它是FormGroup
实例,而不是FormControl
。然而,根据角度文档,在FormGroup
中添加FormGroup
是有效的。
此代码在没有--prod
的情况下构建完美。我知道--prod
会导致严格的类型检查。我不知道如何纠正这一点。
在表单控件中,您必须使用类似的东西
form.get('qualifications').controls
或CCD_ 11或CCD_ 12,而这对CCD_。
你需要把它放在组件中,而不是模板中。
模板
<div class="col-md-12" *ngFor = "let address of getAddresses(user) ; let i = index">
组件
getAddresses(form){
return form.get('addresses').controls;
}
工作相同和代码的示例