约束
最短和最长天数
使用 minDays 和 maxDays(含)限制范围长度。用户无法确认短于 minDays 或长于 maxDays 的范围。
import { useState } from "react";import "react-date-range-picker-styled/rdrp-styles.css";import { DateRangePicker } from "react-date-range-picker-styled";
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 "react-date-range-picker-styled/rdrp-styles.css";import { DateRangePicker } from "react-date-range-picker-styled";
const isWeekend = (date: Date) => { const day = date.getDay(); return day === 0 || day === 6;};
function DisabledDates() { const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({ start: null, end: null, });
return <DateRangePicker value={value} onChange={setValue} isDateUnavailable={isWeekend} />;}允许单日
默认情况下,允许开始和结束日期相同。设置 allowSingleDateInRange={false} 以要求至少选择两个不同的日期。
import { useState } from "react";import { DateRangePicker } from "react-date-range-picker-styled";import "react-date-range-picker-styled/rdrp-styles.css";
function AllowSingleDate() { const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({ start: null, end: null, });
return <DateRangePicker value={value} onChange={setValue} allowSingleDateInRange={false} />;}