外觀
尺寸
四種內建尺寸:small、medium、large 和 x-large。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";import type { DatePickerSize } from "react-date-range-picker-headless";
const sizes: DatePickerSize[] = ["small", "medium", "large", "x-large"];
function Sizes() { const [values, setValues] = useState<Record<DatePickerSize, Date | null>>({ small: null, medium: null, large: null, "x-large": null, });
return ( <div style={{ display: "flex", flexDirection: "column", gap: 20 }}> {sizes.map((size) => ( <div key={size} style={{ display: "flex", alignItems: "center", gap: 12 }}> <span style={{ width: 60, fontSize: 13, fontWeight: 600, opacity: 0.5, flexShrink: 0 }}> {size} </span> <DatePicker value={values[size]} onChange={(date) => setValues((prev) => ({ ...prev, [size]: date }))} size={size} /> </div> ))} </div> );}small
medium
large
x-large
自訂格式
自訂顯示格式字串。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function CustomFormat() { const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} displayFormat="YYYY/MM/DD" />;}自訂語系
使用 headless 套件中的 createLocale 提供自訂語系以進行國際化。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import { createLocale } from "react-date-range-picker-headless";import "react-date-range-picker-styled/rdrp-styles.css";
const koLocale = createLocale("ko-KR", { confirm: "확인", cancel: "취소", clear: "초기화", today: "오늘", placeholder: "날짜 선택",});
function CustomLocale() { const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} locale={koLocale} weekStartsOn="monday" />;}週的起始日
變更一週的第一天。預設為 "sunday"。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function WeekStartsOn() { const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} weekStartsOn="monday" />;}顯示非當月日期
顯示相鄰月份的日期以填滿日曆網格。預設為 false。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function ShowOutsideDays() { const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} showOutsideDays />;}標題下拉選單
使用 captionLayout="dropdown" 將月份/年份導覽從箭頭切換為下拉選單。使用 fromYear 和 toYear 設定年份範圍。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function CaptionDropdown() { const [value, setValue] = useState<Date | null>(null);
return ( <DatePicker value={value} onChange={setValue} captionLayout="dropdown" fromYear={2020} toYear={2030} /> );}