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>
);
}