Caroa UI

TimePicker

時間を選択するドロップダウンコンポーネント。

インポート

import { TimePicker } from '@caroainc/ui-components/client'

基本的な使い方

Loading...
const [time, setTime] = React.useState('09:30')
 
<TimePicker value={time} onChange={setTime} />

時間間隔

interval で時間の間隔(分)を指定できます。デフォルトは30分です。

Loading...
// 15分間隔
<TimePicker value={time} onChange={setTime} interval={15} />
 
// 30分間隔(デフォルト)
<TimePicker value={time} onChange={setTime} interval={30} />
 
// 60分間隔
<TimePicker value={time} onChange={setTime} interval={60} />

時間範囲の制限

minTimemaxTime で選択可能な時間範囲を制限できます。

Loading...
<TimePicker
  value={time}
  onChange={setTime}
  minTime="08:00"
  maxTime="18:00"
/>

プレースホルダー

Loading...
<TimePicker
  value={time}
  onChange={setTime}
  placeholder="開始時刻を選択"
/>

無効状態

Loading...
<TimePicker value="09:30" disabled />

実際の使用例

営業時間の設定

Loading...
import { Field, FieldLabel, TimePicker } from '@caroainc/ui-components/client'
 
function BusinessHoursForm() {
  const [startTime, setStartTime] = React.useState('09:00')
  const [endTime, setEndTime] = React.useState('18:00')
 
  return (
    <div className="flex gap-4">
      <Field>
        <FieldLabel>開始時刻</FieldLabel>
        <TimePicker value={startTime} onChange={setStartTime} />
      </Field>
      <Field>
        <FieldLabel>終了時刻</FieldLabel>
        <TimePicker value={endTime} onChange={setEndTime} />
      </Field>
    </div>
  )
}

Props

PropTypeDefaultDescription
valuestring-選択された時間 (HH:mm 形式)
onChange(time: string) => void-時間が変更された時のコールバック
intervalnumber30時間の間隔(分)
minTimestring'00:00'選択可能な最小時間 (HH:mm 形式)
maxTimestring'23:59'選択可能な最大時間 (HH:mm 形式)
placeholderstring'時間を選択'プレースホルダーテキスト
disabledbooleanfalse無効状態
classNamestring-追加のクラス名

注意事項

  • 時間の形式は HH:mm です(例: "09:30", "14:00")
  • interval は分単位で指定します
  • ドロップダウンを開いた時、選択中の時間に自動スクロールします

On this page