Cellule de Jour Personnalisée
Utilisez la render prop du composant Day pour personnaliser chaque cellule de jour. Ceci est utile pour ajouter des indicateurs d’événements, un style personnalisé basé sur les propriétés de la date, ou pour remplacer entièrement le rendu du jour.
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
Props de Rendu pour Day
| Prop | Type | Description |
|---|---|---|
date | Date | L’objet Date |
day | number | Jour du mois (1-31) |
isToday | boolean | Indique si c’est aujourd’hui |
isSelected | boolean | Indique si ce jour est sélectionné |
isDisabled | boolean | Indique si ce jour est désactivé |
isInRange | boolean | Indique si ce jour est dans une plage sélectionnée |
isRangeStart | boolean | Indique si c’est le début de la plage |
isRangeEnd | boolean | Indique si c’est la fin de la plage |
isInHoverRange | boolean | Indique si ce jour est dans la plage de prévisualisation au survol |
isHoverTarget | boolean | Indique si c’est le point final du survol |
isOutsideDay | boolean | Indique si ce jour appartient à un mois adjacent |
isHighlighted | boolean | Indique si ce jour a un point de surbrillance |
isFocused | boolean | Indique si ce jour a le focus du clavier |
onClick | () => void | Gestionnaire de clic |
onMouseEnter | () => void | Gestionnaire d’entrée de la souris |
onMouseLeave | () => void | Gestionnaire de sortie de la souris |