diff --git a/src/components/datepicker/nz-datepicker.component.ts b/src/components/datepicker/nz-datepicker.component.ts index 68b1212272c..bae4585d54a 100644 --- a/src/components/datepicker/nz-datepicker.component.ts +++ b/src/components/datepicker/nz-datepicker.component.ts @@ -187,6 +187,7 @@ export class NzDatePickerComponent implements ControlValueAccessor, OnInit { _dropDownPosition = 'bottom'; _triggerWidth = 0; _value = null; + _disabled = false; _today = new Date(); _selectedMonth = moment(this.nzValue).month(); _selectedYear = moment(this.nzValue).year(); @@ -205,11 +206,20 @@ export class NzDatePickerComponent implements ControlValueAccessor, OnInit { @Input() nzPlaceHolder = '请选择日期'; @Input() nzFormat = 'YYYY-MM-DD'; @Input() nzSize = ''; - @Input() nzDisabled = false; @ViewChild('trigger') trigger; @ViewChild(NzTimePickerInnerComponent) timePickerInner: NzTimePickerInnerComponent; @HostBinding('class.ant-calendar-picker') _nzCalendarPicker = true; + @Input() + get nzDisabled(): boolean { + return this._disabled; + }; + + set nzDisabled(value: boolean) { + this._disabled = value; + this._closeCalendar(); + } + _setTriggerWidth(): void { this._triggerWidth = this.trigger.nativeElement.getBoundingClientRect().width; } @@ -402,7 +412,6 @@ export class NzDatePickerComponent implements ControlValueAccessor, OnInit { } setDisabledState(isDisabled: boolean): void { - this._closeCalendar(); this.nzDisabled = isDisabled; } } diff --git a/src/components/select/nz-select.component.ts b/src/components/select/nz-select.component.ts index a2c13fb8a30..a9b6ba5d690 100644 --- a/src/components/select/nz-select.component.ts +++ b/src/components/select/nz-select.component.ts @@ -289,6 +289,7 @@ export class NzSelectComponent implements OnInit, AfterContentInit, AfterContent set nzDisabled(value: boolean) { this._disabled = value; + this.closeDropDown(); this.setClassMap(); } diff --git a/src/components/time-picker/nz-timepicker.component.ts b/src/components/time-picker/nz-timepicker.component.ts index da181e0e775..df09a8df981 100644 --- a/src/components/time-picker/nz-timepicker.component.ts +++ b/src/components/time-picker/nz-timepicker.component.ts @@ -2,7 +2,8 @@ import { Component, ViewEncapsulation, forwardRef, - ViewChild + ViewChild, + Input } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import * as moment from 'moment'; @@ -137,12 +138,23 @@ import { ConnectionPositionPair } from '../core/overlay'; ] }) export class NzTimePickerComponent extends NzTimePickerInnerComponent { + _disabled = false; _dropDownPosition = 'bottom'; _triggerWidth = 0; _positions: ConnectionPositionPair[] = [ ...DEFAULT_DATEPICKER_POSITIONS ]; @ViewChild('trigger') trigger; + @Input() + get nzDisabled(): boolean { + return this._disabled; + }; + + set nzDisabled(value: boolean) { + this._disabled = value; + this._closeCalendar(); + } + _setTriggerWidth(): void { this._triggerWidth = this.trigger.nativeElement.getBoundingClientRect().width; } @@ -207,7 +219,6 @@ export class NzTimePickerComponent extends NzTimePickerInnerComponent { } setDisabledState(isDisabled: boolean): void { - this._closeCalendar(); this.nzDisabled = isDisabled; } }