如何在 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);