[英]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.