From 9f7dd9594058bd07e6bb064f18aee592ea4daa83 Mon Sep 17 00:00:00 2001 From: KumJungMin Date: Wed, 26 Jun 2024 21:03:02 +0900 Subject: [PATCH] fix: apply year change in Calendar when input changed --- components/lib/calendar/Calendar.js | 34 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/components/lib/calendar/Calendar.js b/components/lib/calendar/Calendar.js index 1e306f21f6..f9cf68ace4 100644 --- a/components/lib/calendar/Calendar.js +++ b/components/lib/calendar/Calendar.js @@ -3070,29 +3070,29 @@ export const Calendar = React.memo( isTypingRef.current = false; // #3516 view date not updated when value set programatically - if (!visible && newDate) { - let viewDate = newDate; + if (!newDate) return; - if (isMultipleSelection()) { - if (newDate.length) { - viewDate = newDate[newDate.length - 1]; - } - } else if (isRangeSelection()) { - if (newDate.length) { - let startDate = newDate[0]; - let endDate = newDate[1]; + let viewDate = newDate; - viewDate = endDate || startDate; - } + if (isMultipleSelection()) { + if (newDate.length) { + viewDate = newDate[newDate.length - 1]; } + } else if (isRangeSelection()) { + if (newDate.length) { + let startDate = newDate[0]; + let endDate = newDate[1]; - if (viewDate instanceof Date) { - validateDate(viewDate); - setViewDateState(viewDate); - setCurrentMonth(viewDate.getMonth()); - setCurrentYear(viewDate.getFullYear()); + viewDate = endDate || startDate; } } + + if (viewDate instanceof Date) { + validateDate(viewDate); + setViewDateState(viewDate); + setCurrentMonth(viewDate.getMonth()); + setCurrentYear(viewDate.getFullYear()); + } } }, [props.value, visible]);