カスタムフッター
独自のボタンとレイアウトで完全にカスタムされたフッターを構築したり、一部を完全に取り除いて最小限のピッカーにすることができます。
フッターの再配置
フッターボタンを再配置したり、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プロパティを受け入れます:
<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>