angular 在更新FormArray时添加仅传递Self选项的能力,

lsmepo6l  于 6个月前  发布在  Angular
关注(0)|答案(1)|浏览(49)

与功能请求相关的@angular/*包有哪些?

forms

描述

这是我的使用场景。我有一个表单组,包含表单控件和一个表单组数组。我需要访问表单控件和表单组数组以进行验证。我还可能在服务器端添加一个项目到数组中。当服务器请求完成时,我想修补整个表单,然后触发业务规则(验证规则)。如果从服务器返回的数组中的项目数量大于相应表单数组中的项目数量,这是不可能的。如果json数组中的项目数量和FormArray的数量不同,则在根表单上触发PatchValue会抛出错误。因此,我必须调整项目数量。然而,FormArray的push和removeAt方法都不支持onlySelf选项,就像patchValue一样。FormGroup的setControl方法也不支持,我可以用来替换整个FormArray。

建议的解决方案

向以下内容添加onlySelf选项:

  • FormGroup的方法
  • setControl
  • removeControl
  • FormArray的方法
  • push
  • removeAt
  • insert
  • setControl

它们都已经有选项:{emitEvent?: boolean},我建议将其更改为options: {emitEvent?: boolean, onySelf? boolean}。当onlySelf为true时,不要像在patchValue中那样触发父级的验证。谢谢!

考虑过的替代方案

替换整个控件,但这将触发父级验证。禁用控件,但这似乎很丑陋。谢谢!

inb24sb2

inb24sb21#

你好,
如果没有人在上面,我可以处理这个问题。

相关问题