input
Text

InputText

El componente InputText permite al usuario introducir texto en un campo de entrada. Es personalizable y se puede utilizar en formularios y otras interfaces de usuario donde se requiera la entrada de texto.

Ejemplo

Importación

Para importar el componente InputText, se puede hacer desde fenextjs

import { InputText } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
idanyno''ID del campo de entrada.
nameanyno''Nombre del campo de entrada.
datalistanynoundefinedNombre del datalist para el campo de entrada.
validatorFenextjsValidatorClassnoundefinedClase de validador de Fenextjs para la validación de la entrada.
labelanyno''Texto de etiqueta que se muestra para el campo de entrada.
placeholderstringno''Texto que se muestra en el campo de entrada cuando está vacío.
placeholderFocusstringnoundefinedTexto de marcador de posición que se muestra cuando el campo tiene foco.
defaultValuestring | undefined | nullnoundefinedValor predeterminado para establecer en el campo de entrada.
valuestring | undefined | nullnoundefinedValor a establecer en el campo de entrada.
type'text' | 'search' | 'tel' | 'url' | 'password' | 'number' | 'textarea'no'text'Tipo de entrada del campo (texto, número, contraseña, etc.).
onChangefunctionno() => {}Función que se llama cuando cambia el valor de entrada.
onBlurfunctionno() => {}Función que se llama cuando el campo pierde el foco.
onEnterfunctionno() => {}Función que se llama cuando se presiona la tecla Enter.
onChangeValidatefunctionnoasync (e: string) => eFunción para la validación personalizada de la entrada.
propsanynoundefinedPropiedades adicionales para pasar al componente de entrada.
iconanyno<></>Icono que se muestra dentro del campo de entrada.
iconPos'left' | 'right'no'right'Posición del icono dentro del campo de entrada.
extraInContentInputanyno<></>Contenido adicional para mostrar dentro del contenedor del campo de entrada.
extraInLabelanyno<></>Contenido adicional para mostrar dentro de la etiqueta del campo.
disabledbooleannofalseIndica si el campo de entrada está deshabilitado.
showIconbooleannotrueIndica si se debe mostrar el icono en el campo de entrada.
classNamestringno''Clase CSS para el componente de entrada.
errorErrorFenextjsnoundefinedTexto de error del campo de entrada.
errorWithIsChangebooleannotrueMostrar error si ha cambiado.
optionalbooleannofalseIndica si el campo es opcional.
optionalTextstringno'(optional)'Texto opcional para el campo de entrada.
requiredbooleannofalseIndica si el campo es obligatorio.
requiredTextstringno'*'Texto para indicar que el campo es obligatorio.
loaderbooleannofalseIndica si debe mostrarse un cargador.
isChangeboolean | undefinednoundefinedIndica si el valor ha cambiado.
useLoaderbooleannotrueIndica si se debe usar el cargador.
inputMode'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search' | undefinednoundefinedModo de entrada del campo.
autoCompleteboolean | string | 'off' | 'on'nooffIndica si se debe habilitar la autocompletación.
onKeyDownfunctionnoundefinedFunción para manejar eventos de tecla presionada.
onWheelfunctionnoundefinedFunción para manejar eventos de rueda del mouse.
maxLengthnumbernoundefinedLongitud máxima para el campo de entrada.
regExpRegExpnoundefinedExpresión regular para validar la entrada.
regExpReplacestringno''Cadena de reemplazo para la expresión regular.
parseText(data: string) => stringnoundefinedFunción para analizar el texto de entrada.
onChangeEvent(e: InputTextChangeEvent) => voidnoundefinedFunción para manejar el evento de cambio del campo de entrada.

Storybook

Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)

Usos

  • Básico
<InputText />
  • InputText con valor predeterminado
<InputText defaultValue="Texto de ejemplo" />
  • InputText con placeholder
<InputText placeholder="Escribe algo..." />
  • InputText deshabilitado
<InputText disabled={true} />
  • InputText en estado de error
<InputText
  error={
    new ErrorFenextjs({ code: ErrorCode.ERROR, message: "Campo requerido" })
  }
/>
  • InputText con autocompletado
<InputText autoComplete={"on"} />
  • InputText con expresión regular
<InputText regExp={/^[a-zA-Z]*$/} regExpReplace="*" />
  • InputText con evento onKeyDown
<InputText onKeyDown={(e) => console.log(e.key)} />
  • InputText con cargador
<InputText loader={true} />