커스텀 푸터

자체 버튼과 레이아웃으로 완전히 커스텀된 푸터를 구축하거나, 미니멀한 피커를 위해 특정 부분을 완전히 제거할 수 있습니다.

재배열된 푸터

푸터 버튼을 재배열하거나 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>