簡體   English   中英

將 JSON 轉換為 formGroup

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM