首页 > 解决方案 > Angular Reactive Form:嵌套表单的设置/修补值

问题描述

我有一个类似于这样的表单结构:

itemEntities: [
   {customisable: [{food: {..}, quantity: 1}, {food: {..}, quantity: 5}]},       
   {customisable: [{food: {..}, quantity: 0}]}, 
]

我正在尝试使用新的数量值设置值/补丁值。我已经初始化了值为 0 的数量。

但是,当我尝试传入一个变量时

this.toggleForm.controls.itemEntities.controls[i]
    .controls.customisable.controls[j].controls.quantity.setValue(quantity);

在 setValue 中,数量始终计算为 0。在尝试设置值之前,我尝试 console.log out 数量,它返回了正确的值。此外,检查 typeof 数量表示数量是一个数字。不知何故,如果我尝试 .setValue(5) 即使用数字而不是变量名,它会设法正确设置表单上的值。

关于如何正确设置值的任何建议?

标签: javascriptangularionic-framework

解决方案


设定值

有必要提到方法内部的所有控件。如果不这样做,它将引发错误。

补丁值

您还可以设置单个值

你应该.patchValue使用

formgroup.patchValue({quantity:quantity});


推荐阅读