这是我的component.ts:
constructor(
private fb: FormBuilder,
) {}
formobject = {} as GKCLForm1;
gkclForm1 = this.fb.group({
gcklform1 : this.fb.control(this.formobject)
});
这里是component.html:
<form [formGroup]="gkclForm1">
<label>
info:
<input type="text" formControlName="gcklform1.info">
</label>
<label>
id:
<input type="text" formControlName="gcklform1.id">
</label>
</form>
我有一个类型为GKCLForm1的对象。 info和id是该对象的属性。
我想从一个对象创建一个表单组吗? (我正在使用Angular 6)
答案 0 :(得分:1)
不太确定您要在此处实现的目标。通常,使用反应形式以便它们可以产生类似于数据模型的值(通常在提交时)。
原始类型值和复杂类型值之间存在差异,因此两种类型使用不同的AbstractControl
。如果您有一个复杂的类型(例如一个对象),那么您也应该使用FormGroup
。如果您使用原始类型(字符串,数字等),则应使用FormControl
。我很确定,即使您尝试对复杂的数据类型使用FormControl
,也无法从中获得任何收益。
对于您的情况,我认为您应该为FormGroup
使用gcklform1
。
这是您推荐的StackBlitz。