这就是我所做的,我还使用 DeepCopy 来确保不会发生奇怪的通过引用传递的情况
const formGroup = this.allowances()
formGroup.removeControl('allowanceEndDate')
const newFormGroup = deepCopy(formGroup)
newFormGroup.addControl(
'allowanceEndDate',
new FormControl(null, {
nonNullable: false,
validators: []})
)
console.log(newFormGroup)
我不断收到此消息 - required 仍设置为 true...而它应该只显示错误:null:
原始的 validator.required 也不在那里,所以仍然不明白为什么上面说 required=true,是否还有另一个标志我需要以编程方式设置?
您的
formcontrol
的状态是invalid
,您可以编写此代码进行特定控制:
allowanceEndDate.reset();
则控制状态为有效,错误为空。