メインコンテンツへスキップ
BlueAI
ホーム/コンポーネント/フォームと入力/テキスト入力 Input

FormInput

テキスト入力コンポーネント。label / error / multiline / type=number(カンマ付き)/ size をサポート。onChange は (value: string) => void 形式。

|
import { FormInput } from "@blueai/ui"

Examples

Basic
const [value, setValue] = useState("");

<FormInput
  label="会社名"
  value={value}
  onChange={setValue}
  placeholder="会社名を入力"
/>
With Error

13桁の番号を入力してください

<FormInput
  label="登録番号"
  value="T123"
  onChange={setValue}
  error="13桁の番号を入力してください"
/>
Number (with comma formatting)

内部値: 1000

<FormInput
  label="金額"
  type="number"
  value={numValue}
  onChange={setNumValue}
/>
// 内部値は常にカンマなし文字列: "1000"
Multiline
<FormInput
  label="備考"
  multiline
  value={multiline}
  onChange={setMultiline}
/>
Sizes
<FormInput size="sm" label="Small" ... />
<FormInput size="md" label="Medium" ... />
Disabled
<FormInput label="無効" value="変更不可" disabled />

Props

PropTypeDefaultDescription
value*string入力値
onChange(value: string) => void値変更ハンドラ(イベントではなく値を直接受け取る)
onBlur() => voidフォーカスアウトハンドラ
labelstringラベルテキスト
placeholderstringプレースホルダー
errorstringエラーメッセージ
requiredbooleanfalse必須マーク表示
multilinebooleanfalsetextarea として描画
type"text" | "number" | "email" | ..."text"HTML input type。number はカンマ付き表示
size"sm" | "md""md"入力欄のサイズ
disabledbooleanfalse無効状態

ガイドライン

Do
  • label を必ず付ける
  • エラーメッセージは具体的に書く(「13桁の番号を入力してください」)
Don't
  • placeholder だけで label を省略しない
  • 「入力エラーです」のような汎用エラー文を使わない