커스텀 푸터
자체 버튼과 레이아웃으로 완전히 커스텀된 푸터를 구축하거나, 미니멀한 피커를 위해 특정 부분을 완전히 제거할 수 있습니다.
재배열된 푸터
푸터 버튼을 재배열하거나 TodayButton과 같은 새로운 버튼을 추가하세요. DateTimePicker 컴파운드 컴포넌트는 시간 선택을 위해 TimePanel이 포함된 TimeSection을 포함하며, Footer는 액션 버튼을 위한 컨테이너 역할을 합니다.
import { useState } from "react";import { DateTimePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function CompoundCustomFooter() { const [value, setValue] = useState<Date | null>(null);
return ( <DateTimePicker.Root value={value} onChange={setValue}> <DateTimePicker.Trigger /> <DateTimePicker.Content> <DateTimePicker.Header> <DateTimePicker.PrevButton /> <DateTimePicker.Title /> <DateTimePicker.NextButton /> </DateTimePicker.Header> <DateTimePicker.Grid /> <DateTimePicker.TimeSection> <DateTimePicker.TimePanel target="single" /> </DateTimePicker.TimeSection> <DateTimePicker.Footer> <DateTimePicker.TodayButton /> <div style={{ flex: 1 }} /> <DateTimePicker.CancelButton /> <DateTimePicker.ConfirmButton /> </DateTimePicker.Footer> </DateTimePicker.Content> </DateTimePicker.Root> );}기본 제공되는 액션 버튼을 완전히 생략하고 Footer 안에 자체 요소를 사용할 수도 있습니다:
<DatePicker.Footer> <button onClick={() => setValue(new Date())}>Set Today</button> <button onClick={() => setValue(null)}>Clear</button></DatePicker.Footer>미니멀 레이아웃
필요하지 않은 부분은 생략하세요. 예를 들어, 푸터나 트리거가 없는 헤더 없는 인라인 캘린더입니다:
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function CompoundNoFooter() { const [value, setValue] = useState<Date | null>(null);
return ( <DatePicker.Root value={value} onChange={setValue}> <DatePicker.Trigger /> <DatePicker.Content> <DatePicker.Header> <DatePicker.PrevButton /> <DatePicker.Title /> <DatePicker.NextButton /> </DatePicker.Header> <DatePicker.Grid /> </DatePicker.Content> </DatePicker.Root> );}또는 푸터가 없는 피커입니다:
<DatePicker.Root value={value} onChange={setValue}> <DatePicker.Trigger /> <DatePicker.Content> <DatePicker.Header> <DatePicker.PrevButton /> <DatePicker.Title /> <DatePicker.NextButton /> </DatePicker.Header> <DatePicker.Grid /> </DatePicker.Content></DatePicker.Root>커스텀 클래스 이름 추가하기
모든 컴파운드 부분은 기본 스타일 CSS 클래스와 병합되는 className prop을 허용합니다:
<DatePicker.Root value={value} onChange={setValue} className="my-picker"> <DatePicker.Trigger className="my-trigger" /> <DatePicker.Content className="my-content"> <DatePicker.Header className="my-header"> <DatePicker.PrevButton className="my-nav" /> <DatePicker.Title className="my-title" /> <DatePicker.NextButton className="my-nav" /> </DatePicker.Header> <DatePicker.Grid className="my-grid" /> </DatePicker.Content></DatePicker.Root>