From c04f4343f0cc1219bf8c52d28a8acff960c1b2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=A7=E8=A1=A1?= Date: Thu, 25 Oct 2018 17:31:23 +0800 Subject: [PATCH] fix(module:calendar): fix calendar year picker close #2351 --- components/calendar/nz-calendar-header.component.ts | 12 +++++++++++- components/calendar/nz-calendar-header.spec.ts | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/components/calendar/nz-calendar-header.component.ts b/components/calendar/nz-calendar-header.component.ts index 7b2831bad6b..314a0332279 100644 --- a/components/calendar/nz-calendar-header.component.ts +++ b/components/calendar/nz-calendar-header.component.ts @@ -15,11 +15,21 @@ export class NzCalendarHeaderComponent implements OnInit { @Output() modeChange: EventEmitter<'month' | 'year'> = new EventEmitter(); @Input() fullscreen: boolean = true; - @Input() activeDate: Date = new Date(); + + @Input() + set activeDate(value: Date) { + this._activeDate = value; + this.setUpYears(); + } + + get activeDate(): Date { + return this._activeDate; + } @Output() yearChange: EventEmitter = new EventEmitter(); @Output() monthChange: EventEmitter = new EventEmitter(); + _activeDate = new Date(); yearOffset: number = 10; yearTotal: number = 20; years: Array<{ label: string, value: number }>; diff --git a/components/calendar/nz-calendar-header.spec.ts b/components/calendar/nz-calendar-header.spec.ts index 6c5332dd1a5..0ec7a98612d 100644 --- a/components/calendar/nz-calendar-header.spec.ts +++ b/components/calendar/nz-calendar-header.spec.ts @@ -136,6 +136,8 @@ describe('Calendar Header', () => { expect(yearModel.model).toBe(2001); expect(monthModel.model).toBe(1); + const headerComponent = header.injector.get(NzCalendarHeaderComponent); + expect(headerComponent.years[0].value).toBe(1991); }); });