PinInput

Mantenedor:
amje
GitHub
size
type
length
placeholder
note
validationState
errorMessage
disabled
otp
mask
import {PinInput} from '@gravity-ui/uikit';

PinInput es un grupo de entradas para introducir rápidamente una secuencia de valores numéricos o alfanuméricos. Su caso de uso más común es introducir códigos OTP o de confirmación recibidos a través de mensajes de texto (SMS), correos electrónicos o aplicaciones de autenticación.

Cada entrada recopila un carácter a la vez. Cuando se acepta un valor, el foco se mueve a la siguiente entrada, hasta que se rellenen todos los campos.

Tipo

De forma predeterminada, las entradas solo aceptan valores numéricos. Para permitir valores alfanuméricos, defina la type propiedad en "alphanumeric":

<PinInput type="alphanumeric" />

Tamaño

Este componente viene en cuatro tamaños: s m, l, y xl. El tamaño predeterminado es m.

<PinInput size="s" />
<PinInput size="m" />
<PinInput size="l" />
<PinInput size="xl" />

Estado

Si no desea que el usuario interactúe con el componente, defina la disabled propiedad:

<PinInput disabled />

Para mostrar un estado no válido del componente, utilice la validationState propiedad con el "invalid" valor. Si lo desea, puede establecer el texto de un mensaje de error con la errorMessage propiedad:

Incorrect PIN
<PinInput validationState="invalid" errorMessage="Incorrect PIN" />

Marcador de posición

De forma predeterminada, no hay ningún marcador de posición para las entradas. Puede configurarlo con la placeholder propiedad:

<PinInput placeholder="😎" />

máscara

Si necesita enmascarar los valores introducidos, utilice la mask propiedad. Es similar al <input type="password"/> comportamiento.

<PinInput mask />

ARRIBA

Si desea que el navegador sugiera códigos de un solo uso desde el contexto externo (por ejemplo, SMS), defina la otp propiedad.

API

  • focus(): void: Establece el foco en la entrada activa actual.

API CSS

NombreDescripción
--g-pin-input-item-widthEstablece el ancho de cada entrada, a menos que responsive sea true.
--g-pin-input-item-gapEstablece un espacio entre las entradas.

Propiedades

NombreDescripciónTipoPredeterminado
apiRefConsulta la API.React.RefObject
aria, descrita poraria-describedby Atributo HTMLstring
etiqueta ariaaria-label Atributo HTMLstring
aria - etiquetada poraria-labelledby Atributo HTMLstring
autoFocusActiva o desactiva el enfoque en la primera entrada del modelizado inicial.boolean
classNameclass Atributo HTMLstring
defaultValueValor inicial de un componente no controlado.string[]
inhabilitadoAlterna el estado disabledboolean
errorMessageTexto de error colocado debajo de la esquina inferior inicial que comparte espacio con el contenedor de notas. Solo está visible cuando validationState está establecido en "invalid".React.ReactNode
identificaciónid Prefijo de atributo HTML para entradas. El identificador resultante también contendrá la "-${index}" pieza.string
longitudNúmero de campos de entrada.number4
máscaraCuando se establece en true, los valores de entrada se enmascararán como el campo de contraseña.boolean
nombrename Atributo HTML para la entrada.string
formularioLa forma asociada del elemento de entrada subyacente.string
notaElemento situado debajo de la esquina inferior que comparte espacio con el contenedor de errores.React.ReactNode
onUpdateLa devolución de llamada se activa cuando cambia alguna de las entradas.(value: string[]) => void
onUpdateCompleteLa devolución de llamada se activa cuando alguna de las entradas cambia y todas están llenas.(value: string[]) => void
arribaCuando se establece en true, se suma autocomplete="one-time-code" a las entradas.boolean
marcador de posiciónMarcador de posición para entradasstring
qadata-qa Atributo HTML utilizado con fines de prueba.string
sensibleEl ancho de los padres se distribuye de manera uniforme entre las entradas.boolean
tamañoTamaño del campo de entrada."s" "xl""m"
estilostyle Atributo HTMLReact.CSSProperties
tipoDetermina qué tipos de valores de entrada están permitidos."numeric" "alphanumeric""numeric"
validationStateEstado de validación que afecta al aspecto del componente."invalid"
valorValor actual del componente controlado.string[]
onFocusLa devolución de llamada se activa cuando el componente recibe el foco.(evento: <Element> React.focusEvent () = nulo>
onBlurLa llamada se activa cuando el componente pierde el foco.(evento: <Element> React.focusEvent () = nulo>