fix(forms): make setDisabledState optional for reactive form directives (#11731)

Closes #11719
This commit is contained in:
Kara
2016-09-19 16:26:33 -07:00
committed by Alex Eagle
parent bf81b06a28
commit 51d73d3e4e
3 changed files with 29 additions and 4 deletions

View File

@ -90,7 +90,9 @@ export class FormControlDirective extends NgControl implements OnChanges {
ngOnChanges(changes: SimpleChanges): void {
if (this._isControlChanged(changes)) {
setUpControl(this.form, this);
if (this.control.disabled) this.valueAccessor.setDisabledState(true);
if (this.control.disabled && this.valueAccessor.setDisabledState) {
this.valueAccessor.setDisabledState(true);
}
this.form.updateValueAndValidity({emitEvent: false});
}
if (isPropertyUpdated(changes, this.viewModel)) {

View File

@ -152,7 +152,9 @@ export class FormControlName extends NgControl implements OnChanges, OnDestroy {
private _setUpControl() {
this._checkParentType();
this._control = this.formDirective.addControl(this);
if (this.control.disabled) this.valueAccessor.setDisabledState(true);
if (this.control.disabled && this.valueAccessor.setDisabledState) {
this.valueAccessor.setDisabledState(true);
}
this._added = true;
}
}