Comportement
Fermer lors de la sélection
Lorsque shouldCloseOnSelect est activé, le sélecteur confirme et se ferme automatiquement lorsqu’un préréglage est cliqué.
ℹ️ Info
Pour les sélecteurs avec heure, shouldCloseOnSelect ne s’applique qu’aux clics sur les
préréglages — pas aux clics sur les dates, car l’utilisateur doit encore régler l’heure.
import { useState } from "react";import { DateRangeTimePicker } from "react-date-range-picker-tailwind4";
function ShouldCloseOnSelect() { const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({ start: null, end: null, });
return ( <DateRangeTimePicker value={value} onChange={setValue} shouldCloseOnSelect time={{ minuteStep: 5 }} /> );}Mois multiples
Affichez plus que les deux mois par défaut côte à côte.
import { useState } from "react";import { DateRangeTimePicker } from "react-date-range-picker-tailwind4";
function MultiMonth() { const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({ start: null, end: null, });
return ( <DateRangeTimePicker value={value} onChange={setValue} numberOfMonths={3} time={{ minuteStep: 5 }} /> );}Intégration de formulaire
Utilisez la prop name pour inclure des champs de saisie masqués pour la soumission de formulaire native.
💡 Tip
Le style du bouton de soumission dans cet exemple est personnalisé — la bibliothèque ne fournit que le sélecteur de date.
import { type SubmitEvent, useState } from "react";import { DateRangeTimePicker } from "react-date-range-picker-tailwind4";
function FormIntegration() { const [value, setValue] = useState<{ start: Date | null; end: Date | null }>({ start: null, end: null, });
const handleSubmit = (e: SubmitEvent<HTMLFormElement>) => { e.preventDefault(); const formData = new FormData(e.currentTarget); const start = formData.get("booking"); const end = formData.get("booking-end"); alert( `Submitted range: ${typeof start === "string" ? start : ""} ~ ${typeof end === "string" ? end : ""}`, ); };
return ( <form onSubmit={handleSubmit} style={{ display: "flex", alignItems: "center", gap: 8 }}> <DateRangeTimePicker value={value} onChange={setValue} name="booking" time={{ minuteStep: 5 }} /> <button type="submit" style={{ padding: "6px 14px", border: "1px solid #d1d5db", borderRadius: 6, background: "#3b82f6", color: "#fff", cursor: "pointer", fontSize: 13, }} > Submit </button> </form> );}