Benutzerdefinierte Tageszelle

Passen Sie die Darstellung jedes Tages mithilfe der Grid- und Day-Render-Props an. Dies ermöglicht es Ihnen, Ereignisanzeigen, benutzerdefinierte Stile oder zusätzlichen Inhalt zu einzelnen Tageszellen hinzuzufügen.

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-tailwind4";
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

Day Render Props

PropTypBeschreibung
dateDateDas Datumsobjekt
daynumberTag des Monats (1-31)
isTodaybooleanOb dies der heutige Tag ist
isSelectedbooleanOb dieser Tag ausgewählt ist
isDisabledbooleanOb dieser Tag deaktiviert ist
isInRangebooleanOb dieser Tag innerhalb eines ausgewählten Bereichs liegt
isRangeStartbooleanOb dies der Anfang des Bereichs ist
isRangeEndbooleanOb dies das Ende des Bereichs ist
isInHoverRangebooleanOb dieser Tag im Hover-Vorschaubereich liegt
isHoverTargetbooleanOb dies der Endpunkt des Hover-Effekts ist
isOutsideDaybooleanOb dieser Tag zu einem benachbarten Monat gehört
isHighlightedbooleanOb dieser Tag einen Hervorhebungspunkt hat
isFocusedbooleanOb dieser Tag den Tastaturfokus hat
onClick() => voidKlick-Handler
onMouseEnter() => voidMouse-Enter-Handler
onMouseLeave() => voidMouse-Leave-Handler