From 23602504b1ce8b123ddeab951c1277c8c6121993 Mon Sep 17 00:00:00 2001 From: wenqi73 <1264578441@qq.com> Date: Fri, 2 Aug 2019 13:18:51 +0800 Subject: [PATCH 1/2] chore(module:date-picker): keep the time value while clicking date --- components/calendar/date-table.component.ts | 10 ++++++++-- .../date-picker/nz-date-picker.component.spec.ts | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/components/calendar/date-table.component.ts b/components/calendar/date-table.component.ts index 4b00eb3c7cf..e033c98fe31 100644 --- a/components/calendar/date-table.component.ts +++ b/components/calendar/date-table.component.ts @@ -106,8 +106,14 @@ export class DateTableComponent implements OnInit, OnChanges { } private changeValueFromInside(value: CandyDate): void { - if (this.value !== value) { - this.valueChange.emit(value); + // Only change date not change time + const newValue = this.value + .setYear(value.getYear()) + .setMonth(value.getMonth()) + .setDate(value.getDate()); + + if (this.value !== newValue) { + this.valueChange.emit(newValue); } } diff --git a/components/date-picker/nz-date-picker.component.spec.ts b/components/date-picker/nz-date-picker.component.spec.ts index 7ab9f3b997d..a7a9b0e484b 100644 --- a/components/date-picker/nz-date-picker.component.spec.ts +++ b/components/date-picker/nz-date-picker.component.spec.ts @@ -571,6 +571,20 @@ describe('NzDatePickerComponent', () => { expect((queryFromOverlay('input.ant-calendar-input') as HTMLInputElement).value).toBe('2018-11-11 00:22:33'); })); + it('should not reset time', fakeAsync(() => { + fixtureInstance.nzValue = new Date('2019-08-02 13:03:33'); + fixtureInstance.nzShowTime = true; + fixture.detectChanges(); + openPickerByClickTrigger(); + + dispatchMouseEvent(queryFromOverlay('.ant-calendar-cell > .ant-calendar-date'), 'click'); + + fixture.detectChanges(); + flush(); + fixture.detectChanges(); + expect((queryFromOverlay('input.ant-calendar-input') as HTMLInputElement).value).toBe('2019-07-29 13:03:33'); + })); + it('should support nzShowTime.nzFormat', fakeAsync(() => { fixtureInstance.nzShowTime = { nzFormat: 'HH:mm' }; fixture.detectChanges(); From da5e3fdf6a2913c71b2e256fdeaf4275dd9cc22b Mon Sep 17 00:00:00 2001 From: wenqi73 <1264578441@qq.com> Date: Fri, 2 Aug 2019 17:29:32 +0800 Subject: [PATCH 2/2] chore: delete jugdement --- components/calendar/date-table.component.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/components/calendar/date-table.component.ts b/components/calendar/date-table.component.ts index e033c98fe31..98ddd33b819 100644 --- a/components/calendar/date-table.component.ts +++ b/components/calendar/date-table.component.ts @@ -111,10 +111,7 @@ export class DateTableComponent implements OnInit, OnChanges { .setYear(value.getYear()) .setMonth(value.getMonth()) .setDate(value.getDate()); - - if (this.value !== newValue) { - this.valueChange.emit(newValue); - } + this.valueChange.emit(newValue); } private makeHeadWeekDays(): WeekDayLabel[] {