@@ -61,8 +61,9 @@ export const DatePickerControlled: Comp<DatePickerControlledProps, HTMLDivElemen
61
61
return getMonthCalendar ( localeObj , selectedMonth , minDate , maxDate ) ;
62
62
} , [ locale , minDate , maxDate , selectedMonth ] ) ;
63
63
64
- const selectedYear = selectedMonth . toLocaleDateString ( locale , { year : 'numeric' } ) . slice ( 0 , 4 ) ;
65
- const [ currentYear , setCurrentYear ] = React . useState ( selectedYear ) ;
64
+ const selectedYear = selectedMonth . getFullYear ( ) ;
65
+ const formattedYear = selectedMonth . toLocaleDateString ( locale , { year : 'numeric' } ) . slice ( 0 , 4 ) ;
66
+ const [ currentYear , setCurrentYear ] = React . useState ( String ( selectedYear ) ) ;
66
67
67
68
// Updates month offset when validating year. Adds or removes 12 months per year when updating year value.
68
69
const updateMonthOffset = React . useCallback (
@@ -110,7 +111,7 @@ export const DatePickerControlled: Comp<DatePickerControlledProps, HTMLDivElemen
110
111
111
112
// Update current year when selected year changes
112
113
React . useEffect ( ( ) => {
113
- setCurrentYear ( selectedYear ) ;
114
+ setCurrentYear ( String ( selectedYear ) ) ;
114
115
} , [ selectedYear ] ) ;
115
116
116
117
const prevSelectedMonth = usePreviousValue ( selectedMonth ) ;
@@ -158,12 +159,12 @@ export const DatePickerControlled: Comp<DatePickerControlledProps, HTMLDivElemen
158
159
vAlign = "center"
159
160
dir = "auto"
160
161
>
161
- { RegExp ( `(.*)(${ selectedYear } )(.*)` )
162
+ { RegExp ( `(.*)(${ formattedYear } )(.*)` )
162
163
. exec ( monthYear )
163
164
?. slice ( 1 )
164
165
. filter ( ( part ) => part !== '' )
165
166
. map ( ( part ) =>
166
- part === selectedYear ? (
167
+ part === formattedYear ? (
167
168
< TextField
168
169
value = { currentYear }
169
170
aria-label = { yearLabel }
0 commit comments