@@ -4,7 +4,12 @@ import '../../assets/ReactDatepicker.css';
44import * as React from 'react' ;
55import { useState , useMemo , useRef , useEffect } from 'react' ;
66import { getFormatDatetime } from '../utils/datetime' ;
7- import { setCenturyPage , setDecadePage , setMonthPage } from '../utils/page' ;
7+ import {
8+ setCenturyPage ,
9+ setDecadePage ,
10+ setYearPage ,
11+ setMonthPage ,
12+ } from '../utils/page' ;
813import ViewCentury from './view/Century' ;
914import { NAME_SPACE } from './constants/core' ;
1015import Controller from './Controller' ;
@@ -32,7 +37,7 @@ function Container({ initValue = new Date(), onChange }: Iprops) {
3237
3338 const centuryPage = useMemo ( ( ) => setCenturyPage ( viewDate ) , [ viewDate ] ) ;
3439 const decadePage = useMemo ( ( ) => setDecadePage ( viewDate ) , [ viewDate ] ) ;
35- // const yearPage = useMemo(() => setYearPage(viewDate), [viewDate]);
40+ const yearPage = useMemo ( ( ) => setYearPage ( viewDate ) , [ viewDate ] ) ;
3641 const monthPage = useMemo ( ( ) => setMonthPage ( viewDate ) , [ viewDate ] ) ;
3742 const container = useRef ( null ) ;
3843
@@ -80,10 +85,11 @@ function Container({ initValue = new Date(), onChange }: Iprops) {
8085
8186 useEffect ( ( ) => {
8287 setIsVisible ( false ) ;
88+ setViewDate ( getFormatDatetime ( value , 'YYYY-MM-DD' ) ) ;
8389 if ( onChange ) {
8490 onChange ( value ) ;
8591 }
86- } , [ value , onChange ] ) ;
92+ } , [ value , onChange , setViewDate ] ) ;
8793
8894 return (
8995 < div className = { `${ NAME_SPACE } __wrapper` } >
@@ -106,26 +112,30 @@ function Container({ initValue = new Date(), onChange }: Iprops) {
106112 < div className = { `${ NAME_SPACE } __datepicker` } >
107113 { viewType === 'month' && (
108114 < ViewMonth
109- monthPage = { monthPage }
110115 value = { value }
116+ monthPage = { monthPage }
111117 setValue = { setValue }
112118 />
113119 ) }
114120 { viewType === 'year' && (
115121 < ViewYear
122+ value = { value }
123+ yearPage = { yearPage }
116124 setViewDateByType = { setViewDateByType }
117125 setViewType = { setViewType }
118126 />
119127 ) }
120128 { viewType === 'decade' && (
121129 < ViewDecade
130+ value = { value }
122131 decadePage = { decadePage }
123132 setViewDateByType = { setViewDateByType }
124133 setViewType = { setViewType }
125134 />
126135 ) }
127136 { viewType === 'century' && (
128137 < ViewCentury
138+ value = { value }
129139 centuryPage = { centuryPage }
130140 setViewDateByType = { setViewDateByType }
131141 setViewType = { setViewType }
0 commit comments