问题陈述 :
在下面的stackblitz演示中,我能够FormGroup
通过单击Add
按钮并(blur)
从一个控件触发事件以更新共享该控件的另一个控件的值,在网格的开头动态插入动态对象rowIndex
。现在的问题是,如果我在多个新添加的对象上插入多个formGroups
并触发(blur)
事件,FormGroups
它将更新其他控件的值以及具有不同的值rowIndex
。
重现此问题的步骤:
打开下面的演示链接。
通过单击添加按钮添加多行(2行)。
在第二个新添加的行的名称字段中输入值,然后将焦点对准。
它会在两个新添加的行中更新年龄字段,而不是仅在第二行中更新。
Stackblitz演示: https ://stackblitz.com/edit/angular-oitz5j-4uezqr
要求:
跳出特定行的任何名称字段,同一行的“年龄”字段应显示一个随机数,而不会影响其他行。
到目前为止我尝试了什么?
试图使用Array unshift()方法但出现错误
类型“ FormArray”上不存在属性“ unshift”
尝试使用FormArray.insert()方法。如果我们要FormGroup
在特定索引处添加一个,它将可以工作。但是它无法FormGroups
在FormArray
动态顶部插入多个。
更新:如果没有Kendo Grid,上述问题可以正常工作。请检查以下演示。
演示: https : //stackblitz.com/edit/angular-oitz5j-2a31gs
github / stackoverflow中的相关问题:
https://github.com/angular/angular/issues/16322
Angular-表单数组推送特定索引
注意:如果我们要将控件添加到Grid的末尾,则它的工作原理很简单。请检查下面的演示,该演示在最后添加控件时效果很好。
演示: https : //stackblitz.com/edit/angular-oitz5j-aszrjq