约束
必填
当设置 required 后,清除按钮将被禁用,且值不能为空。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-tailwind3";
function Required() { const [value, setValue] = useState<Date | null>(new Date());
return <DatePicker value={value} onChange={setValue} required />;}最小和最大日期
使用 minDate 和 maxDate 将可选日期限制在特定范围内。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-tailwind3";
function MinMaxDate() { const [value, setValue] = useState<Date | null>(null);
const today = new Date(); const minDate = new Date(today.getFullYear(), today.getMonth(), 1); const maxDate = new Date(today.getFullYear(), today.getMonth() + 1, 0);
return <DatePicker value={value} onChange={setValue} minDate={minDate} maxDate={maxDate} />;}禁用日期
使用 isDateUnavailable 动态禁用特定日期。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-tailwind3";
function DisabledDates() { const [value, setValue] = useState<Date | null>(null);
const isDateUnavailable = (date: Date) => { const day = date.getDay(); return day === 0 || day === 6; // Disable weekends };
return <DatePicker value={value} onChange={setValue} isDateUnavailable={isDateUnavailable} />;}禁用过去/未来
使用 disablePast 或 disableFuture 快速禁用今天之前/之后的日期。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-tailwind3";
function DisablePastFuture() { const [pastValue, setPastValue] = useState<Date | null>(null); const [futureValue, setFutureValue] = useState<Date | null>(null);
return ( <div style={{ display: "flex", flexDirection: "column", gap: 16 }}> <div> <div style={{ fontSize: 13, fontWeight: 600, opacity: 0.7, marginBottom: 8 }}> Past dates disabled </div> <DatePicker value={pastValue} onChange={setPastValue} disablePast /> </div> <div> <div style={{ fontSize: 13, fontWeight: 600, opacity: 0.7, marginBottom: 8 }}> Future dates disabled </div> <DatePicker value={futureValue} onChange={setFutureValue} disableFuture /> </div> </div> );}Past dates disabled
Future dates disabled
高亮日期
使用 highlightDates 属性在视觉上高亮特定日期(例如节假日、活动)。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-tailwind3";
function HighlightDates() { const [value, setValue] = useState<Date | null>(null);
const today = new Date(); const highlightDates = [ new Date(today.getFullYear(), today.getMonth(), 5), new Date(today.getFullYear(), today.getMonth(), 15), new Date(today.getFullYear(), today.getMonth(), 25), ];
return <DatePicker value={value} onChange={setValue} highlightDates={highlightDates} />;}初始月份
设置选择器首次打开时初始显示的月份。
import { useState } from "react";import { DatePicker } from "react-date-range-picker-tailwind3";
function InitialMonth() { const [value, setValue] = useState<Date | null>(null);
return <DatePicker value={value} onChange={setValue} initialMonth={new Date(2026, 5, 1)} />;}