From 3aeb2bc692a12f273595bc700346a8771e3a9b0d Mon Sep 17 00:00:00 2001 From: SergioCrisostomo Date: Fri, 10 Aug 2018 14:29:00 +0200 Subject: [PATCH] Correct month last day --- src/components/date-picker/panel/Date/date-range.vue | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/components/date-picker/panel/Date/date-range.vue b/src/components/date-picker/panel/Date/date-range.vue index 42fabd6..ae0925a 100644 --- a/src/components/date-picker/panel/Date/date-range.vue +++ b/src/components/date-picker/panel/Date/date-range.vue @@ -312,9 +312,18 @@ } else { // keep the panels together const otherPanel = panel === 'left' ? 'right' : 'left'; - const otherCurrent = new Date(this[`${otherPanel}PanelDate`]); - otherCurrent[`set${type}`](otherCurrent[`get${type}`]() + increment); - this[`${otherPanel}PanelDate`] = otherCurrent; + const currentDate = this[`${otherPanel}PanelDate`]; + const temp = new Date(currentDate); + + if (type === 'Month') { + const nextMonthLastDate = new Date( + temp.getFullYear(), temp.getMonth() + increment + 1, 0 + ).getDate(); + temp.setDate(Math.min(nextMonthLastDate, temp.getDate())); + } + + temp[`set${type}`](temp[`get${type}`]() + increment); + this[`${otherPanel}PanelDate`] = temp; } }, showYearPicker (panel) { -- libgit2 0.21.4