限制條件

最小與最大天數

使用 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} />
);
}

允許單一日期

預設情況下,允許開始日期與結束日期相同的範圍。設定 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} />;
}