【发布时间】:2018-05-13 20:21:07
【问题描述】:
我有一个从 API 返回的嵌套 JSON 响应,其结构与我需要在模板上显示的方式不同,例如:
@Component({
selector: 'reactive-form-example',
styles: ['./reactive-form-example.component.css'],
template: `
<form [formGroup]="form" (ngSubmit)="onSubmit()">
<div formGroupName="first">
<input type="text" placeholder="some id" formControlName="someId">
<div formGroupName="second">
<input type="text" placeholder="some text" formControlName="someText">
</div>
</div>
</form>
`
})
export class ReactiveFormExampleComponent {
form = new FormGroup({
first: new FormGroup({
someId: new FormControl('587824')
}),
second: new FormGroup({
someText: new FormControl('the sky is blue')
})
});
onSubmit(value) {
console.log('Submit', this.form.value);
}
}
问题:是否可以将 formGroupName 嵌套在另一个 formGroupName 中,或者是否有更好的方法可以使用响应式表单来实现相同的结果?
【问题讨论】:
-
你可以试试
[formGroup]="form.get('first')"而不是formGroupName="first" -
@emostafa 有效!这是个好习惯吗?
-
老实说,我不确定,但我认为是这样,在嵌套表单组下的角度文档中,您会找到有关它的部分。 angular.io/guide/reactive-forms#more-formcontrols
标签: angular angular-reactive-forms