• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

rangepicker를 쓰려고 하는데요

23.07.03 16:12 작성 조회수 313

0

레인지피커의 값을 받아오려는데 e.target.value를 하면

Cannot read properties of undefined (reading 'value')

이런 오류가 떠요

구글링도 해봤는데 어떻게 알수 있는 방법 없을까요?

레인지피커는 파란색 박스에요

스크린샷 2023-07-03 오후 4.11.47.png

답변 1

답변을 작성해보세요.

0

https://ant.design/components/date-picker#rangepicker

공식문서를 보세요.

onChange에 e같은게 없습니다. dates와 dateStrings가 매개변수입니다.

 

정현영님의 프로필

정현영

질문자

2023.07.04

공식문서에

function(dates: [dayjs, dayjs], dateStrings: [string, string])

라고만 적혀 있는데 어떻게 적용해야 하나요?

계속 오류가 나네요 ㅠ

일단 코드는 이렇게 썼어요

  const onChangeDietDate = useCallback((dates, dateStrings) => {
        console.log(dates.dayjs)
    }, []);

 

지금처럼 쓰시는 게 맞습니다. 근데 왜 콘솔은 dayjs인가요? dates랑 dateString을 매개변수로 하셨잖아요

정현영님의 프로필

정현영

질문자

2023.07.04

[Moment, Moment]

라는 값이 콘솔에 찍이는데 날짜로 찍히는 방법이 없을까요?

const onChangeDietDate = useCallback((dates, dateStrings) => { const result = dates.formatType("YYYY-MM-DD HH:mm:ss"); console.log(result) }, []);

이렇게 해봤는데 오류가 떠요

 

moment를 날짜 라이브러리로 쓰는 것이라 moment 공식 문서 보면서 날짜로 변경하시면 됩니다.

정현영님의 프로필

정현영

질문자

2023.07.04

감사합니다!!

모멘트 공식문서 보고 따라 했더니

날짜가 찍히네요

const onChangeDietDate = useCallback((dates, dateStrings) => { const result = dates[0].format('MMMM Do YYYY, h:mm:ss a'); console.log(result) }, []);

 

넵! 저는 힌트 위주로 드리니 힌트를 보고 지금처럼 직접 해보시면 좋습니다 ㅎㅎ