与功能请求相关的@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中那样触发父级的验证。谢谢!
考虑过的替代方案
替换整个控件,但这将触发父级验证。禁用控件,但这似乎很丑陋。谢谢!
1条答案
按热度按时间inb24sb21#
你好,
如果没有人在上面,我可以处理这个问题。