diff --git a/src/components/cascader/nz-cascader.component.ts b/src/components/cascader/nz-cascader.component.ts index 440cb14fb51..3c80f817a0f 100644 --- a/src/components/cascader/nz-cascader.component.ts +++ b/src/components/cascader/nz-cascader.component.ts @@ -1008,6 +1008,16 @@ export class NzCascaderComponent implements OnInit, OnDestroy, OnChanges, AfterV this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + if (isDisabled) { + this._closeMenu(); + this._addHostClass(`${this._prefixCls}-picker-disabled`); + } else { + this._removeHostClass(`${this._prefixCls}-picker-disabled`); + } + this.nzDisabled = isDisabled; + } + ngOnInit() { // 设置第一列 if (this.nzOptions && this.nzOptions.length) { diff --git a/src/components/checkbox/nz-checkbox-group.component.ts b/src/components/checkbox/nz-checkbox-group.component.ts index 292dba8e60f..f9d9697b16e 100644 --- a/src/components/checkbox/nz-checkbox-group.component.ts +++ b/src/components/checkbox/nz-checkbox-group.component.ts @@ -68,6 +68,10 @@ export class NzCheckboxGroupComponent implements OnInit, AfterContentInit, Contr this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } + ngOnInit() { } } diff --git a/src/components/checkbox/nz-checkbox.component.ts b/src/components/checkbox/nz-checkbox.component.ts index 0c091a3a733..18dabdfcb54 100644 --- a/src/components/checkbox/nz-checkbox.component.ts +++ b/src/components/checkbox/nz-checkbox.component.ts @@ -108,6 +108,10 @@ export class NzCheckboxComponent implements OnInit, ControlValueAccessor { this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } + ngOnInit() { this._render.addClass(this._el, `${this._prefixCls}-wrapper`); } diff --git a/src/components/datepicker/nz-datepicker.component.ts b/src/components/datepicker/nz-datepicker.component.ts index 2b1c3d3378c..68b1212272c 100644 --- a/src/components/datepicker/nz-datepicker.component.ts +++ b/src/components/datepicker/nz-datepicker.component.ts @@ -400,4 +400,9 @@ export class NzDatePickerComponent implements ControlValueAccessor, OnInit { registerOnTouched(fn: () => {}): void { this.onTouched = fn; } + + setDisabledState(isDisabled: boolean): void { + this._closeCalendar(); + this.nzDisabled = isDisabled; + } } diff --git a/src/components/input-number/nz-input-number.component.ts b/src/components/input-number/nz-input-number.component.ts index 2dd58301e81..d477cd5c86b 100644 --- a/src/components/input-number/nz-input-number.component.ts +++ b/src/components/input-number/nz-input-number.component.ts @@ -209,4 +209,8 @@ export class NzInputNumberComponent implements ControlValueAccessor { registerOnTouched(fn: () => {}): void { this.onTouched = fn; } + + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } } diff --git a/src/components/input/nz-input.component.ts b/src/components/input/nz-input.component.ts index 6bd8be94cb3..09e192741fb 100644 --- a/src/components/input/nz-input.component.ts +++ b/src/components/input/nz-input.component.ts @@ -191,4 +191,8 @@ export class NzInputComponent implements AfterContentInit, ControlValueAccessor registerOnTouched(fn: () => {}): void { this.onTouched = fn; } + + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } } diff --git a/src/components/radio/nz-radio-group.component.ts b/src/components/radio/nz-radio-group.component.ts index 8fc0937c013..0f34ee14fb6 100644 --- a/src/components/radio/nz-radio-group.component.ts +++ b/src/components/radio/nz-radio-group.component.ts @@ -109,8 +109,13 @@ export class NzRadioGroupComponent implements OnInit, AfterContentInit, ControlV this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.radios.forEach((radio) => { + radio.nzDisabled = isDisabled; + }); + } + ngOnInit() { this._render.setElementClass(this._el, `${this._prefixCls}`, true); - } } diff --git a/src/components/rate/nz-rate.component.ts b/src/components/rate/nz-rate.component.ts index b08b61386f3..fce335e62d6 100644 --- a/src/components/rate/nz-rate.component.ts +++ b/src/components/rate/nz-rate.component.ts @@ -171,6 +171,10 @@ export class NzRateComponent implements OnInit, ControlValueAccessor { this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } + ngOnInit() { this.setClassMap(); this.setChildrenClassMap(); diff --git a/src/components/select/nz-select.component.ts b/src/components/select/nz-select.component.ts index 4c2fe453872..a2c13fb8a30 100644 --- a/src/components/select/nz-select.component.ts +++ b/src/components/select/nz-select.component.ts @@ -702,6 +702,10 @@ export class NzSelectComponent implements OnInit, AfterContentInit, AfterContent this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } + constructor(private _elementRef: ElementRef, private _renderer: Renderer2) { this._el = this._elementRef.nativeElement; } diff --git a/src/components/slider/nz-slider.component.ts b/src/components/slider/nz-slider.component.ts index e92ba3c5e58..88a133ea3be 100644 --- a/src/components/slider/nz-slider.component.ts +++ b/src/components/slider/nz-slider.component.ts @@ -217,6 +217,12 @@ export class NzSliderComponent implements ControlValueAccessor, OnInit, OnChange registerOnTouched(fn) { } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + this.toggleDragDisabled(isDisabled); + this.setClassMap(); + } + // |-------------------------------------------------------------------------------------------- // | Lifecycle hooks // |-------------------------------------------------------------------------------------------- diff --git a/src/components/switch/nz-switch.component.ts b/src/components/switch/nz-switch.component.ts index 77ad7f01998..e6e0e23612e 100644 --- a/src/components/switch/nz-switch.component.ts +++ b/src/components/switch/nz-switch.component.ts @@ -104,6 +104,10 @@ export class NzSwitchComponent implements OnInit, ControlValueAccessor { this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } + ngOnInit() { this.setClassMap(); } diff --git a/src/components/time-picker/nz-timepicker-inner.component.ts b/src/components/time-picker/nz-timepicker-inner.component.ts index 40267e3c05a..2802f46bb0b 100644 --- a/src/components/time-picker/nz-timepicker-inner.component.ts +++ b/src/components/time-picker/nz-timepicker-inner.component.ts @@ -339,6 +339,10 @@ export class NzTimePickerInnerComponent implements OnInit, ControlValueAccessor this.onTouched = fn; } + setDisabledState(isDisabled: boolean): void { + this.nzDisabled = isDisabled; + } + constructor(public _cdr: ChangeDetectorRef) { } diff --git a/src/components/time-picker/nz-timepicker.component.ts b/src/components/time-picker/nz-timepicker.component.ts index ea54ee336bd..da181e0e775 100644 --- a/src/components/time-picker/nz-timepicker.component.ts +++ b/src/components/time-picker/nz-timepicker.component.ts @@ -205,4 +205,9 @@ export class NzTimePickerComponent extends NzTimePickerInnerComponent { } this._open = false; } + + setDisabledState(isDisabled: boolean): void { + this._closeCalendar(); + this.nzDisabled = isDisabled; + } }