@@ -4,6 +4,7 @@ import { useMemo } from 'react';
44import { NAME_SPACE } from '../../constants/core' ;
55import { IDateValue , ITimeValue , TIsVisible } from '../../types/props' ;
66import { formatDate , formatDateValue } from '../../utils/datetime' ;
7+ import { setMonthPage } from '../../utils/page' ;
78
89interface Iprops {
910 type : TIsVisible ;
@@ -33,6 +34,14 @@ export default function RangepickerMonth({
3334 const lastDate = lastDateValue . getDate ( ) ; // 이달 말 일
3435 const lastDay = lastDateValue . getDay ( ) ; // 이달 말 일의 요일
3536 const prevLastDate = new Date ( year , month - 1 , 0 ) . getDate ( ) ; // 이전달의 말 일
37+ const startValue = useMemo (
38+ ( ) => ( type === 'start' ? dateValue : pairValue ) ,
39+ [ dateValue , pairValue , type ]
40+ ) ;
41+ const endValue = useMemo (
42+ ( ) => ( type === 'end' ? dateValue : pairValue ) ,
43+ [ dateValue , pairValue , type ]
44+ ) ;
3645 const formatedDateValue = useMemo (
3746 ( ) => formatDateValue ( dateValue , timeValue , valueFormat ) ,
3847 [ dateValue , timeValue , valueFormat ]
@@ -48,6 +57,17 @@ export default function RangepickerMonth({
4857 return type === 'end' ? formatedDateValue : formatedPairValue ;
4958 } , [ formatedDateValue , formatedPairValue , type ] ) ;
5059
60+ const parsedValueToDate = ( value : IDateValue ) => {
61+ return new Date (
62+ - 1 ,
63+ setMonthPage ( `${ value . year ! + 2 } -${ value . month ! } ` ) ,
64+ value . date ! ,
65+ timeValue . hour ,
66+ timeValue . minute ,
67+ timeValue . second
68+ ) ;
69+ } ;
70+
5171 const renderDateButton = (
5272 month : number ,
5373 date : number ,
@@ -93,10 +113,10 @@ export default function RangepickerMonth({
93113 data-start-active = { formatedStartValue === formatedThisValue }
94114 data-end-active = { formatedEndValue === formatedThisValue }
95115 data-range-active = {
96- formatedStartValue &&
97- formatedEndValue &&
98- buttonDate > new Date ( formatedStartValue ) &&
99- buttonDate < new Date ( formatedEndValue )
116+ startValue &&
117+ endValue &&
118+ buttonDate > parsedValueToDate ( startValue ) &&
119+ buttonDate < parsedValueToDate ( endValue )
100120 }
101121 onClick = { handleClick }
102122 >
0 commit comments