gpt4 book ai didi

javascript - 如何在 Angular 2 中填充表单数组?

转载 作者:行者123 更新时间:2023-12-01 15:11:22 25 4
gpt4 key购买 nike

假设我们有一个可以包含值数组的表单。
对于这种情况,Angular 为我们提供了 FormArray 类(class)。

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的形状属性(property)。
  • 我不知道 data.addresses 中的地址数量大批。
  • 最佳答案

    像下面这样尝试

    this.form.setControl('addresses', this.formBuilder.array(this.data.addresses || []));

    关于javascript - 如何在 Angular 2 中填充表单数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39272616/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com