如何在 FormArray 的循环中使用 PatchValue?
How to use PatchValue inside a loop on a FormArray?
大家好,我有一个函数,当我使用 console.log(id) 时我会传递 id 它工作正常但为什么我不能在 formArray 的循环中使用 patchValue?我希望所有前 5 个元素都具有相同的 ID。
for(let j=0; j<5; j++)
{
this.myarray.at(j).patchValue([
{
elementid: id
}
]);
}
我不确定这是否正是您想要做的,但我做了一个小 StackBlitz,其中我使用 splice
替换了循环中的值。
正如您在控制台中看到的那样,运行 函数后数组的前 5 个元素都具有相同的 id,而 'name' 没有变化。
虽然可能有更好的方法可以达到相同的结果
this.myarray.controls[j].get('elementid').setValue(id);
大家好,我有一个函数,当我使用 console.log(id) 时我会传递 id 它工作正常但为什么我不能在 formArray 的循环中使用 patchValue?我希望所有前 5 个元素都具有相同的 ID。
for(let j=0; j<5; j++)
{
this.myarray.at(j).patchValue([
{
elementid: id
}
]);
}
我不确定这是否正是您想要做的,但我做了一个小 StackBlitz,其中我使用 splice
替换了循环中的值。
正如您在控制台中看到的那样,运行 函数后数组的前 5 个元素都具有相同的 id,而 'name' 没有变化。
虽然可能有更好的方法可以达到相同的结果
this.myarray.controls[j].get('elementid').setValue(id);