【发布时间】:2017-01-09 09:39:09
【问题描述】:
假设我们有一个可以包含值数组的表单。
对于这种情况,Angular 为我们提供了FormArray 类。
this.form = new FormGroup({
addresses: new FormArray([]),
})
我们还可以使用NgForm#setValue。这可用于使用从服务器检索到的一些数据填充表单。
当我从服务器接收到新数据时,我想用该数据填充表单。例如,我的数据如下所示:
const data = {
addresses: [
{ country: 'USA', city: 'New York' },
{ country: 'Germany', city: 'Berlin' },
]
}
现在是时候用这些数据填充表单了。
当我尝试简单地调用 this.form.setValue(data) 时出现错误:
Cannot set property stack of [object Object] which has only a getter
如何在表单中填充数据,但需要满足以下要求:
- 我知道
addresses属性的形状。 - 我不知道
data.addresses数组中的地址数量。
【问题讨论】:
-
您找到解决方案了吗?我认为这里的问题是物品的数量
-
@kaseOga 是的,完全正确!但问题并没有为我解决。我不知道如何描述通用数组接口并将其应用于动态元素列表
-
@Girafa。在这个问题上您还需要帮助吗?
-
@AngularChef 是的,请
标签: javascript forms angular