PinInput

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

使い方

import { PinInput } from "@yamada-ui/react"
<PinInput.Root />

バリアントを変更する

サイズを変更する

カラースキームを変更する

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

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

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

プレースホルダーを変更する場合は、placeholderに文字列を設定します。

フィールド数を変更する

フィールド数を変更する場合は、itemsに数値を設定します。

タイプを変更する

デフォルトでは、数値のみ入力が可能です。英数字をサポートする場合は、typealphanumericを設定します。

ワンタイムパスワード

ワンタイムパスワード(autocomplete="one-time-code")を有効にするには、otptrueに設定します。

入力された値をマスクする

入力された値をマスクする場合は、masktrueに設定します。

無効にする

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

読み取り専用にする

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

無効な入力にする

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

ボーダーの色を変更する

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

完了のイベントをハンドルする

完了のイベントをハンドルする場合は、onCompleteを使用します。

フォーカス管理を無効にする

デフォルトでは、フィールドが入力されると、自動的に次のフィールドにフォーカスは移動します。また、BackSpaceキーが入力された場合は、前のフィールドにフォーカスされます。この制御を無効にする場合は、manageFocusfalseに設定します。

フィールドをカスタマイズする

制御する

Props

アクセシビリティ

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

<PinInput.Root aria-label="Please one-time password" />
<VStack gap="sm">
  <Text as="h3" id="label">
    Please one-time password
  </Text>

  <PinInput.Root aria-labelledby="label" />
</VStack>

キーボード操作

キー説明状態
Tabフォーカスを次の項目に移動します。-
ArrowRightフォーカスを次の項目に移動します。-
ArrowLeftフォーカスを前の項目に移動します。-

ARIAロールと属性

コンポーネントロールと属性使い方
PinInput.Rootrole="group"グループであることを示します。
PinInput.Fieldaria-invalidinvalidが設定されている場合は"true"を設定します。
aria-disableddisabledが設定されている場合は"true"を設定します。
aria-describedbyPinInput.FieldField.Root内にあり、Field.RooterrorMessageまたはhelperMessage、もしくはField.ErrorMessageまたはField.HelperMessageが設定されている場合は、そのidを設定します。
aria-readonlyreadOnlyが設定されている場合は"true"を設定します。
aria-requiredrequiredが設定されている場合は"true"を設定します。
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd
2nd