diff --git a/components/calendar/nz-calendar-header.component.ts b/components/calendar/nz-calendar-header.component.ts index 7b2831bad6..314a033227 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 6c5332dd1a..0ec7a98612 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); }); });