Verhalten
Bei Auswahl schließen
Wenn shouldCloseOnSelect aktiviert ist, bestätigt und schließt der Picker automatisch, wenn eine Voreinstellung angeklickt wird.
ℹ️ Info
Bei Pickern mit Zeitauswahl gilt shouldCloseOnSelect nur für Klicks auf Voreinstellungen – nicht
für Klicks auf Daten, da der Benutzer die Zeit noch einstellen muss.
import { useState } from "react";import "react-date-range-picker-styled/rdrp-styles.css";import { DateRangeTimePicker } from "react-date-range-picker-styled";
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 }} /> );}Mehrere Monate
Zeigen Sie mehr als die standardmäßigen zwei Monate nebeneinander an.
import { useState } from "react";import "react-date-range-picker-styled/rdrp-styles.css";import { DateRangeTimePicker } from "react-date-range-picker-styled";
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 }} /> );}Formularintegration
Verwenden Sie die name-Prop, um versteckte Eingabefelder für die native Formularübermittlung einzuschließen.
💡 Tip
Das Styling des Senden-Buttons in diesem Beispiel ist benutzerdefiniert – die Bibliothek stellt nur den Date-Picker zur Verfügung.
import { type SubmitEvent, useState } from "react";import "react-date-range-picker-styled/rdrp-styles.css";import { DateRangeTimePicker } from "react-date-range-picker-styled";
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> );}