diff --git a/src/datetime-picker.tsx b/src/datetime-picker.tsx index 8deb622..d0f7014 100644 --- a/src/datetime-picker.tsx +++ b/src/datetime-picker.tsx @@ -560,13 +560,24 @@ const DateTimePicker = ( const onChangeMonth = useCallback( (value: number) => { - const newDate = dayjs(stateRef.current.currentDate).add(value, 'month'); + const oldDate = dayjs(stateRef.current.currentDate); + const newDate = oldDate.add(value, 'month'); + + onSelectMonth(newDate.month()); + + if ( + (oldDate.month() === 0 && newDate.month() === 11) || + (oldDate.month() === 11 && newDate.month() === 0) + ) { + onSelectYear(newDate.year()); + } + dispatch({ type: CalendarActionKind.CHANGE_CURRENT_DATE, payload: dayjs(newDate), }); }, - [stateRef, dispatch] + [stateRef, dispatch, onSelectMonth, onSelectYear] ); const onChangeYear = useCallback(