Niestandardowa komórka dnia

Użyj render prop komponentu Day, aby dostosować każdą komórkę dnia. Jest to przydatne do dodawania wskaźników zdarzeń, niestandardowego stylowania opartego na właściwościach daty lub całkowitego zastąpienia renderowania dnia.

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-tailwind3";
const eventDates = new Set([5, 12, 18, 25]);
function CompoundCustomDay() {
const [value, setValue] = useState<Date | null>(null);
return (
<DatePicker.Root value={value} onChange={setValue} inline>
<DatePicker.Content>
<DatePicker.Header>
<DatePicker.PrevButton />
<DatePicker.Title />
<DatePicker.NextButton />
</DatePicker.Header>
<DatePicker.Grid>
{({ date }) => (
<DatePicker.Day date={date}>
{({ day, isDisabled, isSelected, isToday, onClick, onMouseEnter, onMouseLeave }) => (
<button
type="button"
onClick={onClick}
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
disabled={isDisabled}
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
justifyContent: "center",
width: 36,
height: 36,
border: "none",
borderRadius: 6,
cursor: isDisabled ? "default" : "pointer",
background: isSelected ? "#3b82f6" : "transparent",
color: isSelected ? "#fff" : isToday ? "#2563eb" : undefined,
fontWeight: isToday || isSelected ? 600 : 400,
fontSize: 13,
position: "relative",
}}
>
{day}
{eventDates.has(date.getDate()) && (
<span
style={{
position: "absolute",
bottom: 2,
width: 4,
height: 4,
borderRadius: "50%",
background: isSelected ? "#fff" : "#f59e0b",
}}
/>
)}
</button>
)}
</DatePicker.Day>
)}
</DatePicker.Grid>
</DatePicker.Content>
</DatePicker.Root>
);
}
March 2026
Su
Mo
Tu
We
Th
Fr
Sa

Render Props dla Dnia

PropTypeOpis
dateDateObiekt daty
daynumberDzień miesiąca (1-31)
isTodaybooleanCzy to jest dzisiaj
isSelectedbooleanCzy ten dzień jest wybrany
isDisabledbooleanCzy ten dzień jest wyłączony
isInRangebooleanCzy ten dzień znajduje się w wybranym zakresie
isRangeStartbooleanCzy to jest początek zakresu
isRangeEndbooleanCzy to jest koniec zakresu
isInHoverRangebooleanCzy ten dzień znajduje się w zakresie podglądu najechania myszą
isHoverTargetbooleanCzy to jest punkt końcowy najechania myszą
isOutsideDaybooleanCzy ten dzień należy do sąsiedniego miesiąca
isHighlightedbooleanCzy ten dzień ma kropkę wyróżnienia
isFocusedbooleanCzy ten dzień ma fokus klawiatury
onClick() => voidObsługa kliknięcia
onMouseEnter() => voidObsługa wejścia myszy
onMouseLeave() => voidObsługa opuszczenia myszy