这些文档说明以下内容:
如果emitEvent为true,则此更改将导致 valueChanges 事件 要发出的 FormControl。这默认为 true (当它下降时 直到 updateValueAndValidity)。
这是什么
updateValueAndValidity
?
您可以订阅某个控件或整个表单的值更改。
updateValueAndValidity
允许您修改一个或多个表单控件的值,并且该标志允许您指定是否希望将值发送给 valueChanges
订阅者。
源代码有助于明确它正在做什么:
https://github.com/angular/angular/blob/master/packages/forms/src/model.ts
目前似乎正在执行以下操作(此列表基于方法名称):
.status
'有效',除非所有控件都被禁用,在这种情况下它会使其'禁用'.value
,如果禁用则清除它。value
和 status
正常形式事件。onlySelf
。注意:它不会向下树,只会向上。
我希望他们能在文档中添加类似的内容。他们目前说“重新计算控件的值和验证状态”。这不是特别有帮助。
updateValueAndValidity()
方法属于AbstractFormControl类,用于以编程方式验证表单。
基本上,当您在运行时添加或删除验证器时,必须调用
updateValueAndValidity()
才能使新验证生效。