Angular FormBuilder中的嵌套属性
我想知道是否有一种方法可以使用Angular 2的FormBuilder设置嵌套属性,如下所示:Angular FormBuilder中的嵌套属性,angular,typescript,ionic2,Angular,Typescript,Ionic2,我想知道是否有一种方法可以使用Angular 2的FormBuilder设置嵌套属性,如下所示: this.form = formBuilder.group({ name: ['', Validators.required], email: ['', Validators.required], address: { state: ['ca', Validators.required], // <---- this gives an error } });
this.form = formBuilder.group({
name: ['', Validators.required],
email: ['', Validators.required],
address: {
state: ['ca', Validators.required], // <---- this gives an error
}
});
this.form=formBuilder.group({
名称:['',验证器。必需],
电子邮件:['',验证器。必填],
地址:{
状态:['ca',Validators.required],//请尝试以下操作:
this.form = formBuilder.group({
name: ['', Validators.required],
email: ['', Validators.required],
address: formBuilder.group({
state: ['ca', Validators.required],
}),
});
在模板中:
<ion-input type="text" [formControl]="address.get('state')"></ion-input>
Sasxa回答了一半,但没有注意到模板评估部分出现了错误。因此,发布模板很重要
要解决此问题,请将模板的地址部分包装在一些不显眼的元素中,如:
<span formGroupName="address">
<ion-item>
<ion-label floating>State</ion-label>
<ion-input type="text" formControlName="state"></ion-input>
</ion-item>
</span>
Doc for如果您可以显示有助于我们诊断问题的模板。在问题上添加了模板,因为他可能没有在模板中指定formGroupName
,所以它要查找“表单->状态”,而不是“表单->地址->状态”@AlexandreJ.你能给plunker举个例子吗?@silentsod所以我需要创建两个表单?@AlexandreJ.不,只要在你的模板中添加这个指令,它会去哪里?是span
最好的方法吗?我想我会使用ion item group
@AlexandreJ。我选择span,如果它与离子项目组
,然后开始。
<span formGroupName="address">
<ion-item>
<ion-label floating>State</ion-label>
<ion-input type="text" formControlName="state"></ion-input>
</ion-item>
</span>
address: formBuilder.group({
state: ['ca', Validators.required]
})