行為

選擇後關閉

啟用 shouldCloseOnSelect 後,選擇器會在點擊日期時自動確認並關閉。

import { useState } from "react";
import { DateTimePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function ShouldCloseOnSelect() {
const [value, setValue] = useState<Date | null>(null);
return (
<DateTimePicker
value={value}
onChange={setValue}
shouldCloseOnSelect
time={{ minuteStep: 5 }}
/>
);
}

多個月份

並排顯示多個月份。

import { useState } from "react";
import { DateTimePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function MultiMonth() {
const [value, setValue] = useState<Date | null>(null);
return (
<DateTimePicker value={value} onChange={setValue} numberOfMonths={2} time={{ minuteStep: 5 }} />
);
}

表單整合

使用 name 屬性來為原生表單提交加入一個隱藏的 input。

💡 Tip
此範例中的提交按鈕樣式是自訂的 —— 本函式庫僅提供日期選擇器。
import { type SubmitEvent, useState } from "react";
import { DateTimePicker } from "react-date-range-picker-styled";
import "react-date-range-picker-styled/rdrp-styles.css";
function FormIntegration() {
const [value, setValue] = useState<Date | null>(null);
const handleSubmit = (e: SubmitEvent<HTMLFormElement>) => {
e.preventDefault();
const formData = new FormData(e.currentTarget);
const appointment = formData.get("appointment");
alert(`Submitted datetime: ${typeof appointment === "string" ? appointment : ""}`);
};
return (
<form onSubmit={handleSubmit}>
<DateTimePicker value={value} onChange={setValue} name="appointment" />
<button type="submit" style={{ marginTop: 8 }}>
Submit
</button>
</form>
);
}