自訂頁尾

使用您自己的按鈕和佈局建立一個完全自訂的頁尾,或完全移除某些部分以獲得一個極簡的選擇器。

重排頁尾

重排頁尾按鈕或新增按鈕,例如 TodayButtonDateTimePicker 複合元件包含一個帶有 TimePanelTimeSection 用於時間選擇,而 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>

新增自訂 Class 名稱

每個複合組件部分都接受一個 className prop,它會與預設的樣式化 CSS 類別合併:

<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>