在输入文本中如何设置对象的值并显示对象的字段?
In an input text how to set value with an object and display a field of the object?
我使用 form reactive 并得到一个对象:
{
id: 47,
codice: "Milano"
}
那把服务器发给我。
当我将其分配给输入文本时,它显示 [object Object]。
如何在输入中显示“Codice”字段,但用对象维护值?
因为当我提交表单时,我使用
检索值
this.editForm.get('destZona').value
我需要两个信息:id 和 codice。
如果你愿意,我可以与 StackBlitz 分享一个例子。
谢谢!
输入文字会显示return文字,不能在里面放东西
您应该有一个用于 destZona 对象的子窗体组。
this.editForm = this.formBuilder.group({
destZona: this.formBuilder.group({
id: [yourObjId],
codice: [yourObjCodice]
})
});
然后您可以在您的模板中引用它,在您的输入父级之一上使用 formGroupName="destZona"
,并将 formControlName="codice"
放在输入上。
创建formGroup
变量
myForm: FormGroup;
创建一个获取对象并将其转换为 FormGroup
的方法
createFormGroup(obj): FormGroup {
return new FormGroup({
id: new FormControl(obj.id),
codice: new FormControl(obj.codice),
});
}
订阅服务时使用 RxjS map
生成 FormGroup 并分配给 myForm
变量
constructor(private dataService: DataService) {
dataService
.getData()
.pipe(
map((data) => (this.myForm = this.createFormGroup(data)))
)
.subscribe();
}
在模板中:
<form [formGroup]="myForm">
<input type="text" formControlName="codice" />
</form>
我使用 form reactive 并得到一个对象:
{
id: 47,
codice: "Milano"
}
那把服务器发给我。
当我将其分配给输入文本时,它显示 [object Object]。
如何在输入中显示“Codice”字段,但用对象维护值? 因为当我提交表单时,我使用
检索值this.editForm.get('destZona').value
我需要两个信息:id 和 codice。
如果你愿意,我可以与 StackBlitz 分享一个例子。 谢谢!
输入文字会显示return文字,不能在里面放东西
您应该有一个用于 destZona 对象的子窗体组。
this.editForm = this.formBuilder.group({
destZona: this.formBuilder.group({
id: [yourObjId],
codice: [yourObjCodice]
})
});
然后您可以在您的模板中引用它,在您的输入父级之一上使用 formGroupName="destZona"
,并将 formControlName="codice"
放在输入上。
创建formGroup
变量
myForm: FormGroup;
创建一个获取对象并将其转换为 FormGroup
createFormGroup(obj): FormGroup {
return new FormGroup({
id: new FormControl(obj.id),
codice: new FormControl(obj.codice),
});
}
订阅服务时使用 RxjS map
生成 FormGroup 并分配给 myForm
变量
constructor(private dataService: DataService) {
dataService
.getData()
.pipe(
map((data) => (this.myForm = this.createFormGroup(data)))
)
.subscribe();
}
在模板中:
<form [formGroup]="myForm">
<input type="text" formControlName="codice" />
</form>