NumberInput

NumberInputは、ユーザーからの数値入力を取得するために使用されるコンポーネントです。

使い方

import { NumberInput } from "@yamada-ui/react"
<NumberInput />

バリアントを変更する

サイズを変更する

デフォルトの値を設定する

デフォルトの値を設定する場合は、defaultValueに文字列または数値を設定します。

最小・最大値を設定する

最小値と最大値を設定する場合は、minまたはmaxに数値を設定します。

ステップ値を設定する

ステップ値を設定する場合は、stepに数値を設定します。

小数点を設定する

小数点を設定する場合は、precisionに数値を設定します。

ブラー時の値のクランプを無効にする

デフォルトでは、ユーザーの自由な数値入力を受け付けますが、minまたはmaxを超える数値は、ブラー時に自動的に調整されます。この自動的に調整される動作を無効にする場合は、clampValueOnBlurfalseに設定します。

範囲外の値を許可する

範囲外の値を許可する場合は、keepWithinRangefalseに設定します。

無効にする

無効にする場合は、disabledtrueに設定します。

読み取り専用にする

読み取り専用にする場合は、readOnlytrueに設定します。

無効な入力にする

無効な入力にする場合は、invalidtrueに設定します。

ボーダーの色を変更する

ボーダーの色を変更する場合は、focusBorderColorまたはerrorBorderColorに値を設定します。

プレースホルダーの色を変更する

プレースホルダーの色を変更する場合は、_placeholderに値を設定します。

ステッパーをカスタマイズする

ステッパーをカスタマイズする場合は、incrementPropsまたはdecrementPropsにpropsを設定します。

コンポーネントをカスタマイズする

コンポーネントをカスタマイズする場合は、useNumberInputを使用します。

制御する

Props

アクセシビリティ

NumberInputは、アクセシビリティに関してWAI-ARIA - Spinbutton Patternに従います。

Field.Rootを使用しない場合は、NumberInputaria-labelまたはaria-labelledbyを設定します。

<NumberInput aria-label="Age" />
<VStack gap="sm">
  <Text as="h3" id="label">
    Age
  </Text>

  <NumberInput aria-labelledby="label" />
</VStack>

キーボード操作

キー説明状態
ArrowUpstepの値に基づいて値を増加します。-
ArrowDownstepの値に基づいて値を減少します。-
Homeminの値を設定します。-
Endmaxの値を設定します。-
Shift + ArrowUpstepの10倍で値を増加します。-
Shift + ArrowDownstepの10倍で値を減少します。-
Meta + ArrowUp, Ctrl + ArrowUpstepの0.1倍で値を増加します。-
Meta + ArrowDown, Ctrl + ArrowDownstepの0.1倍で値を減少します。-

ARIAロールと属性

コンポーネントロールと属性使い方
NumberInputrole="spinbutton"スピンボタンであることを示します。
aria-valueminminの値を設定します。
aria-valuemaxmaxの値を設定します。
aria-valuenow現在の値を設定します。
aria-valuetext現在の値を設定します。
aria-invalidinvalidが設定されている場合、または値が範囲外の場合は"true"を設定します。
aria-describedbyNumberInputField.Root内にあり、Field.RooterrorMessageまたはhelperMessage、もしくはField.ErrorMessageまたはField.HelperMessageが設定されている場合は、そのidを設定します。
aria-disableddisabledが設定されている場合は"true"を設定します。
aria-readonlyreadOnlyが設定されている場合は"true"を設定します。
aria-requiredrequiredが設定されている場合は"true"を設定します。
NumberInputIncrementButtonaria-label"増加"を設定します。
NumberInputDecrementButtonaria-label"減少"を設定します。

類似のコンポーネント

Textarea

Textareaは、複数行のテキスト入力を取得するために使用されるコンポーネントです。

PinInput

PinInputは、ピンコードやOTP(ワンタイムパスワード)の入力を取得するために使用されるコンポーネントです。

PasswordInput

PasswordInputは、表示・非表示の切り替えができるパスワード入力用のコンポーネントです。

Input

Inputは、ユーザーからのテキスト入力を取得するために使用されるコンポーネントです。

Editable

Editableは、インラインで編集可能なテキスト入力を取得するために使用されるコンポーネントです。

FileInput

FileInputは、ユーザーがファイルを選択するために使用されるコンポーネントです。

Autocomplete

Autocompleteは、ユーザーのテキスト入力に応じて候補を表示するために使用されるコンポーネントです。

Switch

Switchは、オンとオフの状態を切り替えるために使用されるコンポーネントです。

使用しているコンポーネント・フック