制約

最小日数と最大日数

minDaysmaxDays (その日を含む) を使って、範囲の長さを制限します。ユーザーは minDays より短い、または maxDays より長い範囲を確定できません。

import { useState } from "react";
import { DateRangePicker } from "react-date-range-picker-tailwind3";
function MinMaxDays() {
const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({
start: null,
end: null,
});
return <DateRangePicker value={value} onChange={setValue} minDays={3} maxDays={14} />;
}

無効な日付

isDateUnavailable を使用して、特定の日付を動的に無効にします。無効化された日付は、範囲の開始日または終了日として選択できません。

import { useState } from "react";
import { DateRangePicker } from "react-date-range-picker-tailwind3";
function DisabledDates() {
const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({
start: null,
end: null,
});
const isDateUnavailable = (date: Date) => {
const day = date.getDay();
return day === 0 || day === 6; // Disable weekends
};
return (
<DateRangePicker value={value} onChange={setValue} isDateUnavailable={isDateUnavailable} />
);
}

単一日付の許可

デフォルトでは、開始日と終了日が同じ範囲が許可されています。少なくとも2つの異なる日付を必須にするには、allowSingleDateInRange={false} を設定します。

import { useState } from "react";
import { DateRangePicker } from "react-date-range-picker-tailwind3";
function AllowSingleDate() {
const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({
start: null,
end: null,
});
return <DateRangePicker value={value} onChange={setValue} allowSingleDateInRange={false} />;
}