外観

複数月の表示

2ヶ月以上を並べて表示します。レンジピッカーの場合、デフォルトは 2 です。

import { useState } from "react";
import "react-date-range-picker-styled/rdrp-styles.css";
import { DateRangeTimePicker } from "react-date-range-picker-styled";
function MultiMonth() {
const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({
start: null,
end: null,
});
return (
<DateRangeTimePicker
value={value}
onChange={setValue}
numberOfMonths={3}
time={{ minuteStep: 5 }}
/>
);
}

カスタムロケール

headless パッケージの createLocale を使用して、月/曜日の名前やUI文字列をカスタマイズします。

import { useState } from "react";
import { DateRangeTimePicker } 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: "오늘",
rangePlaceholder: "날짜·시간 범위 선택",
rangeSeparator: " ~ ",
});
function CustomLocale() {
const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({
start: null,
end: null,
});
return (
<DateRangeTimePicker
value={value}
onChange={setValue}
locale={koLocale}
time={{ minuteStep: 5 }}
/>
);
}

キャプションのドロップダウン

月と年のナビゲーションをボタンからドロップダウンセレクターに切り替えます。現在の月から離れた日付を選択する場合に便利です。

import { useState } from "react";
import { DateRangeTimePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function CaptionDropdown() {
const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({
start: null,
end: null,
});
return (
<DateRangeTimePicker
value={value}
onChange={setValue}
captionLayout="dropdown"
fromYear={2020}
toYear={2030}
time={{ minuteStep: 5 }}
/>
);
}