インポート
import { DatePicker } from '@k8ordo/ui';使い方
<DatePicker aria-label="Check-in" defaultValue="2026-09-25" name="checkIn" />Firefox は日付入力の中に自前のカレンダーボタンを描き、それを消す方法がありません。そのため Firefox ではカレンダーのボタンが 2 つ並びます。
制御モード
onChange は値(YYYY-MM-DD、空なら '')を受け取ります。カレンダーで選んだときも、打ち込んだときも同じです。
2026-09-25
const [value, setValue] = useState('2026-09-25');
<DatePicker aria-label="Check-in" onChange={setValue} value={value} />最小値 / 最大値
<DatePicker
aria-label="Check-in"
defaultValue="2026-09-25"
max="2026-10-15"
min="2026-09-20"
/>無効
<DatePicker aria-label="Check-in" defaultValue="2026-09-25" disabled />@k8ordo/form と使う
カレンダーで選んだ日付は入力欄に書き込まれ、input イベントで知らされます。フォームには打ち込んだときと同じように伝わります(変更の有無、ルール、エラーの解除)。
// schema.ts
export const bookingSchema = z.object({ checkIn: z.iso.date() });
// booking-form.tsx
const checkIn = form.field('checkIn');
<FormControl
errorText={checkIn.error}
invalid={checkIn.invalid}
label="Check-in"
required={checkIn.required}
renderInput={(props) => <DatePicker {...props} {...checkIn.input} />}
/>Props
defaultValue?- Type:
string - Default: -
invalid?- Type:
boolean - Default:
false onChange?- Type:
(value: string) => void - Default: -
ref?- Type:
Ref<HTMLInputElement> - Default: -
value?- Type:
string - Default: -
| Prop | Type | Default |
|---|---|---|
defaultValue? | string | - |
invalid? | boolean | false |
onChange? | (value: string) => void | - |
ref? | Ref<HTMLInputElement> | - |
value? | string | - |
型ベース(内部で固定する一部attrsは除外): InputHTMLAttributes<HTMLInputElement>
このコンポーネントが描画する文言(ラベルやプレースホルダーなど)は、propsで指定しないとき文言辞書から解決されます。差し替え方は次を参照してください: i18n