export class MyComponent implements OnInit {
private myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
fname: new FormGroup({ fname: new FormControl('', Validators.required) })
});
}
}
<div [formGroup]="myForm">
name:
<input type="text" formControlName="fname">
</div>
但在页面渲染上我得到了
错误TypeError:control.registerOnChange不是函数 at setUpControl(forms.es5.js:1842)
答案 0 :(得分:0)
您有一个嵌套的表单组,您需要在模板中标记formGroupName="fname"
:
<div [formGroup]="myForm">
<div formGroupName="fname">
<input type="text" formControlName="fname">
</div>
</div>
此外,您对formgroup和formcontrol使用相同的名称,我建议您使用唯一的名称。
DEMO:https://stackblitz.com/edit/angular-f7dqkc?file=app%2Fapp.component.html
答案 1 :(得分:0)
我认为这就是你想要的。
export class MyComponent implements OnInit {
private myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
fname: new FormControl('', Validators.required)
});
}
}
<div [formGroup]="myForm">
name:
<input type="text" formControlName="fname">
</div>
答案 2 :(得分:0)
我认为你看起来像这样
export class MyComponent implements OnInit {
private myForm: FormGroup;
constructor() {
this.myForm = new FormGroup({
name: new FormGroup(
{
fname: new FormControl('', Validators.required) }),
lname: new FormControl('', Validators.required) })
}
);
}
}
<div [formGroup]="myForm">
<div formGroupName="name">
<input type="text" formControlName="fname">
<input type="text" formControlName="lname">
</div>
</div>