添加到“反应形式数组角”的开头

jo_*_*wil 0 forms angular angular-reactive-forms

请查看相关的矮人

https://plnkr.co/edit/f0BxpinhuqVz8o6IIFaL?p=preview

// stack overflow makes you put code if a plunker is linked but it is too much code to copy paste here it would just look messy so I a am putting this comment instead.
Run Code Online (Sandbox Code Playgroud)

如果运行此命令,然后单击“添加”按钮,则会将新条目添加到数组,但是窗体视图不会反映窗体状态,而是复制第一个条目,最后一个条目消失。

如果有人对我做错了什么有什么想法或指南,我将不胜感激,因为我被困在一个看似简单的任务上。

我试图尽可能遵循官方的Angular Reactive Forms指南来构建此示例。

谢谢

AJT*_*T82 5

似乎Angular在跟踪对象中的索引时遇到麻烦formArray。这可以通过使用解决trackBy。使用以下功能将其添加到您的迭代中:

<div *ngFor="let detail of detailArray.controls; let i=index; trackBy:trackByFn" [formGroupName]="i">
Run Code Online (Sandbox Code Playgroud)

并在组件中:

trackByFn(index: any, item: any) {
  return index;
} 
Run Code Online (Sandbox Code Playgroud)

您的朋克