禁用时Angular FormGroup变脏

时间:2019-01-18 10:15:12

标签: angular

我需要在特定事件上禁用整个FormGroup
但是我注意到FormGroup变成了dirty

由于我依靠此dirty标志,有没有办法避免它? 我的意思是,禁用应该使FormGroup变成dirty

我正在使用FormGroup#disable

我的代码非常简单,这就是为什么我没有发布它的原因。无论如何,我只是将FormGroup包装在一个对象中。

public set isDisabled(disabled: boolean) {
    if (disabled) {
        this.formGroup.disable()
    } else {
        this.formGroup.enable()
    }
}

2 个答案:

答案 0 :(得分:2)

经过反复试验,该解决方案似乎正在使用:

formGroup.disable({ emitEvent: false })

答案 1 :(得分:0)

您应该能够将控件重新设置为常规:https://angular.io/api/forms/AbstractControl#markaspristine

或按照Jitendra G2的建议使用markAsUntouched()。