[英]Convert JSON to formGroup
我有以下 JSON 数据,
{ “page”:2,“per_page”:6,“total”:12,“total_pages”:2,“data”:[ { “id”:7,“email”:“michael.lawson@reqres.in” },{“id”:8,“email”:“lindsay.ferguson@reqres.in”},{“id”:9,“email”:“tobias.funke@reqres.in”},{“id” :10,“电子邮件”:“byron.fields@reqres.in”},{“id”:11,“电子邮件”:“george.edwards@reqres.in”},{“id”:12,“电子邮件” :“rachel.howell@reqres.in”}]}
到目前为止,我已经手动创建了 formGroup 并使用 for 循环在其中分配数据。
result1 = new FormGroup({
page: this.fb.control(''),
total: this.fb.control(''),
data: this.fb.array([])
});
this.getUsersWithoutFormGroup().subscribe((data: pageData) =>{
let users = this.result1.get('data') as FormArray
data.data.forEach(element => {
users.push(this.fb.group({
id: [element.id],
email: [element.email]
})
)
});
})
我不确定,如果我需要手动创建 formGroup 和 formArray,如果我有很长的 json 数据,或者我们有什么可以使用的内置方法?
我在下面尝试过,但它将所有控件作为 formControls,甚至数组也作为控件出现。
this.fb.group(data)
我们是否有任何现有的方法可以通过仅传递 JSON object 来提供正确的 formGroup?
尝试这个:
this.result1.value = [...data];
知道我不确定我们是否可以更改直接分配其值的表单,所以如果上述方法不起作用,请以这种方式尝试:
if (data != null) {
this.result1.patchValue(data);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.