useStandaloneTimePicker

管理時間狀態,具有開啟/關閉和點擊外部行為。

匯入

import { useStandaloneTimePicker } from "react-date-range-picker-headless";

使用方式

import { useState } from "react";
import { useStandaloneTimePicker } from "react-date-range-picker-headless";
function MyTimePicker() {
const [time, setTime] = useState<Date | null>(null);
const picker = useStandaloneTimePicker({
value: time,
onChange: setTime,
time: { precision: "minute", hourFormat: "24", minuteStep: 5 },
placeholder: "Select time",
});
return (
<div ref={picker.containerRef}>
<button onClick={picker.handleToggle}>
{picker.hasValue ? picker.displayValue : "選擇時間"}
</button>
{picker.isOpen && (
<div ref={picker.popupRef} onKeyDown={picker.handleKeyDown}>
<div>
<span>{String(picker.tempHour).padStart(2, "0")}</span>
<span>:</span>
<span>{String(picker.tempMinute).padStart(2, "0")}</span>
</div>
{/* 連接小時/分鐘控制項 */}
<input
type="range"
min={0}
max={23}
value={picker.tempHour}
onChange={(e) => picker.handleHourChange(Number(e.target.value))}
/>
<input
type="range"
min={0}
max={55}
step={5}
value={picker.tempMinute}
onChange={(e) => picker.handleMinuteChange(Number(e.target.value))}
/>
<div>
<button onClick={picker.handleClear}>清除</button>
<button onClick={picker.handleCancel}>取消</button>
<button onClick={picker.handleConfirm}>確認</button>
</div>
</div>
)}
</div>
);
}

選項

選項類型預設值描述

| `value