input
Textselect

InputTextSelect

El componente InputTextSelect combina un campo de texto con un menú desplegable (select), permitiendo a los usuarios ingresar texto o seleccionar una opción predefinida de una lista. Ofrece gran flexibilidad y personalización en términos de etiquetas, placehoder y validaciones.

Ejemplo

Importación

Para importar el componente InputTextSelect, se puede hacer desde fenextjs

import { InputTextSelect } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
labelanynoundefinedTexto de la etiqueta que se muestra para el campo de texto y select.
placeholderSelectstringnoundefinedTexto que se muestra como placeholder en el campo select.
placeholderTextstringnoundefinedTexto que se muestra como placeholder en el campo de texto.
defaultValuePartial<TextSelectProps>no{}Valor predeterminado para el componente, incluyendo el texto y la opción seleccionada.
valuePartial<TextSelectProps>noundefinedValor actual del componente, que puede ser controlado externamente. Incluye el texto y la opción seleccionada.
onChange(data: Partial<TextSelectProps>) => voidnoundefinedFunción que se ejecuta al cambiar el valor del texto o del select. Recibe un objeto con las propiedades 'text' y 'select'.
posSelect'left' | 'right'no'left'Posición del campo select respecto al campo de texto.
validatoranynoundefinedValidador personalizado para el campo de texto y select.
errorWithIsChangebooleannofalseDetermina si se debe mostrar el mensaje de error cuando el valor cambia.
errorstring | ReactNodenoundefinedMensaje de error que se muestra cuando la validación falla.

Storybook

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

Usos

  • InputTextSelect básico
<InputTextSelect />
  • InputTextSelect con placeholders
<InputTextSelect
  placeholderText="Ingresa texto"
  placeholderSelect="Selecciona una opción"
/>
  • InputTextSelect con valores predeterminados
<InputTextSelect
  defaultValue={{ text: "Texto inicial", select: { id: 1, text: "Opción 1" } }}
/>
  • InputTextSelect con onChange
<InputTextSelect onChange={(data) => console.log(data)} />