Y-M-D 드롭다운 날짜 선택기를 위한 React 라이브러리
react-ymd-date-select
을 만들었습니다.whitphx/react-ymd-date-select - GitHub
캘린더 UI가 아닌 위의 스크린샷과 같은 Y-M-D 드롭다운 UI가 필요할 때가 있습니다. 예를 들어, 사용자에게 생년월일을 선택하도록 요청할 때 Y-M-D 드롭다운은 달력 위젯이 일반적으로 나이가 많을수록 찾기 어려우며 반대로 요일을 직관적으로 표시하는 등의 이점이 필요하지 않기 때문에 선호됩니다.
실제로 이러한 상황에 직면했지만 내 요구 사항을 충족하는 기존 패키지를 찾을 수 없었습니다. 그에 반해 직접 구축하는 것은 간단해 보이지만 실제로는 다음과 같은 몇 가지 너트가 있습니다.
2022-02-29
(2022년 2월 29일)은 유효하지 않은 조합입니다. 해당 날짜는 존재하지 않습니다. <select >
의 3개 값을 하나의 날짜 문자열로 결합하고 이를 양식 구성 요소 상태 또는 양식 라이브러리(예: React Hook Form ~ value
및 onChange
소품. 때로는 다음과 같은 더 많은 요구 사항이 있습니다.
그래서 이를 처리하기 위해 라이브러리
react-ymd-date-select
를 만들었습니다.이 라이브러리에서 제공하는
useDateSelect()
후크를 사용하면 번거로운 논리가 후크에 캡슐화되었으므로 보기 동작에 초점을 맞춰 아래 샘플과 같은 원본 Y-M-D 구성 요소를 만들 수 있습니다.value
prop과 onChange()
의 argument는 ISO8601 형식인 yyyy-MM-DD
형식의 문자열로, native <input type="date" />
값과 동일합니다. 참조https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#value자세한 내용은 the demo page을 참조하십시오.
import { useState } from "react";
import { useDateSelect } from "react-ymd-date-select";
interface CustomDateSelectProps {
onChange: (value: string) => void;
value: string;
}
function CustomDateSelect(props: CustomDateSelectProps) {
const dateSelect = useDateSelect(props.value, props.onChange);
return (
<>
<input
type="date"
value={dateSelect.dateValue || ""}
onChange={dateSelect.onDateChange}
/>
<label>
Year
<select value={dateSelect.yearValue} onChange={dateSelect.onYearChange}>
{dateSelect.yearOptions.map((yearOption) => (
<option key={yearOption.value} value={yearOption.value}>
{yearOption.label}
</option>
))}
</select>
</label>
<label>
Month
<select
value={dateSelect.monthValue}
onChange={dateSelect.onMonthChange}
>
{dateSelect.monthOptions.map((monthOption) => (
<option key={monthOption.value} value={monthOption.value}>
{monthOption.label}
</option>
))}
</select>
</label>
<label>
Day
<select value={dateSelect.dayValue} onChange={dateSelect.onDayChange}>
{dateSelect.dayOptions.map((dayOption) => (
<option key={dayOption.value} value={dayOption.value}>
{dayOption.label}
</option>
))}
</select>
</label>
</>
);
}
Reference
이 문제에 관하여(Y-M-D 드롭다운 날짜 선택기를 위한 React 라이브러리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/whitphx/a-react-library-for-y-m-d-dropdown-date-picker-ecp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)