Roh*_*dal 11 kendo-grid angular angular-reactive-forms formarray formgroups
问题陈述 :
在下面的stackblitz演示中,我能够FormGroup通过单击Add按钮并(blur)从一个控件触发事件以更新共享该控件的另一个控件的值,在网格的开头动态插入动态对象rowIndex。现在的问题是,如果我在多个新添加的对象上插入多个formGroups并触发(blur)事件,FormGroups它将更新其他控件的值以及具有不同的值rowIndex。
重现此问题的步骤:
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
注意:如果我们要将控件添加到Grid的末尾,则它的工作原理很简单。请检查下面的演示,该演示在最后添加控件时效果很好。
对于那些想要在 FormArray 中动态插入元素的人,请使用索引为 0 的 Insert。
this.formName.controls.FieldNameArray.insert(0,[...])
Run Code Online (Sandbox Code Playgroud)
https://angular.io/api/forms/FormArray#insert。
问题是剑道网格。你一遍又一遍地踩在其数据源的索引 0 上,谁知道他会在内部做什么来显示数据。但事实是它没有使用表单数组值。如果您从剑道网格数组中取出,则可以正常工作,或者如果您在 onFocusOut 方法的末尾添加控制台日志, console.log(this.createForm.get("items").value);您将看到 formArray 的值很好。
如果您需要使用 yes 或 yes 剑道网格。阅读以下文档:
https://www.telerik.com/kendo-angular-ui/components/grid/editing/editing-reactive-forms/
我看到的示例表明您无法从外部处理表单。你需要使用kendo grid提供的方法。因为 kendo grid 并不真正显示 fromArray 值
| 归档时间: |
|
| 查看次数: |
338 次 |
| 最近记录: |