พฤติกรรม
ปิดเมื่อเลือก
เมื่อ shouldCloseOnSelect ถูกเปิดใช้งาน ตัวเลือกจะยืนยันและปิดโดยอัตโนมัติเมื่อมีการคลิกค่าที่ตั้งไว้ล่วงหน้า
ℹ️ Info
สำหรับตัวเลือกที่เปิดใช้งานเวลา shouldCloseOnSelect
จะมีผลกับการคลิกค่าที่ตั้งไว้ล่วงหน้าเท่านั้น — ไม่ใช่การคลิกวันที่ เนื่องจากผู้ใช้ยังต้องตั้งเวลา
import { useState } from "react";import { DateRangeTimePicker } from "react-date-range-picker-tailwind3";
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 }} /> );}หลายเดือน
แสดงผลมากกว่าสองเดือนข้างกันตามค่าเริ่มต้น
import { useState } from "react";import { DateRangeTimePicker } from "react-date-range-picker-tailwind3";
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 }} /> );}การทำงานร่วมกับฟอร์ม
ใช้ prop name เพื่อรวมอินพุตที่ซ่อนอยู่สำหรับการส่งฟอร์มแบบเนทีฟ
💡 Tip
สไตล์ของปุ่มส่งในตัวอย่างนี้เป็นแบบกำหนดเอง — ไลบรารีมีให้เฉพาะตัวเลือกวันที่เท่านั้น
import { type SubmitEvent, useState } from "react";import { DateRangeTimePicker } from "react-date-range-picker-tailwind3";
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> );}