Html 从api数据创建FormArray

Html 从api数据创建FormArray,html,angular,typescript,angular-material,Html,Angular,Typescript,Angular Material,我有来自API的数据,如下所示: { actions: 1, created_at: "2020-11-27 18:13:50", id: 18, payment: "0.00", change: "A" } this.form = fB.group({data: this.fB.array( [fB.group({here.the.group}} ) 我需要发回用户修改的数据,我使用反应式表格,我用角材料表显示数据 我有一个想法,

我有来自API的数据,如下所示:

{ actions: 1, created_at: "2020-11-27 18:13:50", id: 18, payment: "0.00", change: "A" }
this.form = fB.group({data: this.fB.array( [fB.group({here.the.group}} )
我需要发回用户修改的数据,我使用反应式表格,我用角材料表显示数据

我有一个想法,大致是这样的:

{ actions: 1, created_at: "2020-11-27 18:13:50", id: 18, payment: "0.00", change: "A" }
this.form = fB.group({data: this.fB.array( [fB.group({here.the.group}} )

如何根据动态接收的数据创建formArray?这样做的目的是能够从表中进行编辑,并将新的formArray作为新数据发送出去

您可以使用
setValue
patchValue
,我喜欢
patchValue
,因为它在设置时具有较少的挑战

假设您的数据如下所示

{
行动:1,
创建于:“2020-11-27 18:13:50”,
身份证号码:18,
付款:“0.00”,
更改:“A”,
数据:[
{id:1,名称:'item 2'},
{id:2,名称:'item 3'},
{id:3,名称:'Item 3'}
]
}
您可以实现以下方法来设置表单

this.form=fB.group({
行动:[''],
付款:[''],
更改:[''],
数据:this.fb.array([])
})
获取formDataArray(){
将此.form.get('data')作为FormArray返回
}
恩戈尼尼特(){
this.myService.getData().subscribe({actions,payment,change,data})=>{
this.form.patchValue({actions,payment,change});
data.forEach({id,name})=>{
this.formDataArray.push(
this.fb.group({id:[id],name:[name]})
)
})
})
}

您可以使用
setValue
patchValue
,我喜欢
patchValue
,因为它在设置上的挑战更少

假设您的数据如下所示

{
行动:1,
创建于:“2020-11-27 18:13:50”,
身份证号码:18,
付款:“0.00”,
更改:“A”,
数据:[
{id:1,名称:'item 2'},
{id:2,名称:'item 3'},
{id:3,名称:'Item 3'}
]
}
您可以实现以下方法来设置表单

this.form=fB.group({
行动:[''],
付款:[''],
更改:[''],
数据:this.fb.array([])
})
获取formDataArray(){
将此.form.get('data')作为FormArray返回
}
恩戈尼尼特(){
this.myService.getData().subscribe({actions,payment,change,data})=>{
this.form.patchValue({actions,payment,change});
data.forEach({id,name})=>{
this.formDataArray.push(
this.fb.group({id:[id],name:[name]})
)
})
})
}

谢谢!我现在有了福尔马雷的想法。我只需要将行作为后端的数据传递,每个行都是单独传递的。如果这不是问题,您知道在这种情况下如何传递表单的数据吗?(我对angular不太熟悉,如果问题太基本,我很抱歉)对不起,我不明白这个问题,你说的“传递表单数据”是什么意思?没问题!这是一个通过ID单独传递数据的问题,我一时糊涂了。谢谢你的帮助,我非常感激谢谢!我现在有了福尔马雷的想法。我只需要将行作为后端的数据传递,每个行都是单独传递的。如果这不是问题,您知道在这种情况下如何传递表单的数据吗?(我对angular不太熟悉,如果问题太基本,我很抱歉)对不起,我不明白这个问题,你说的“传递表单数据”是什么意思?没问题!这是一个通过ID单独传递数据的问题,我一时糊涂了。谢谢你的帮助,我非常感激