Input
Uso
El componente SInput renderiza un campo de entrada de texto. Usa v-model para vincular el valor del input.
Prefijo y Sufijo
Usa las props prefix y suffix para mostrar texto estatico antes o despues del input.
Bordes Redondeados
Usa la prop rounded para controlar el radio de borde del input.
Error
Establece error en true para mostrar el input con estilo de error.
Deshabilitado
Establece disabled en true para evitar la interaccion del usuario.
Sin Borde
Establece borderless en true para eliminar el borde del input.
Icono Izquierdo
Usa la prop leftIcon para mostrar un icono en el lado izquierdo del input.
Icono Derecho
Usa la prop rightIcon para mostrar un icono en el lado derecho del input.
Selectores
Usa leftOptions o rightOptions para incrustar un selector desplegable dentro del input. Vincula el valor seleccionado con v-model:leftOption o v-model:rightOption.
Combinado
Combina multiples caracteristicas como iconos, prefijo y estado de error para casos de uso reales.
Props
| Prop | Tipo | Default | Descripcion |
|---|---|---|---|
modelValue | string | number | null | - | El valor del input (v-model) |
type | string | 'text' | El atributo type del input (text, email, number, etc.) |
placeholder | string | - | Texto placeholder |
name | string | - | El atributo name del input |
id | string | - | El atributo id del input |
disabled | boolean | false | Deshabilita el input |
error | boolean | false | Muestra estilos de error |
borderless | boolean | false | Elimina el borde |
rounded | 'both' | 'left' | 'right' | 'none' | 'full' | 'both' | Estilo de radio de borde |
prefix | string | - | Texto estatico mostrado antes del input |
suffix | string | - | Texto estatico mostrado despues del input |
leftIcon | FunctionalComponent | - | Icono mostrado en el lado izquierdo |
rightIcon | FunctionalComponent | - | Icono mostrado en el lado derecho |
leftOptions | TOption[] | - | Opciones del selector desplegable en el lado izquierdo |
rightOptions | TOption[] | - | Opciones del selector desplegable en el lado derecho |
leftOption | string | - | Valor seleccionado del selector izquierdo (v-model:leftOption) |
rightOption | string | - | Valor seleccionado del selector derecho (v-model:rightOption) |
leftOrderSlots | string | 'selector,text,icon,slot' | Orden de renderizado de las secciones del lado izquierdo |
rightOrderSlots | string | 'slot,icon,text,selector' | Orden de renderizado de las secciones del lado derecho |
class | string | - | Clases CSS adicionales para el contenedor |
inputClass | string | - | Clases CSS adicionales para el elemento input |
Eventos
| Evento | Payload | Descripcion |
|---|---|---|
update:modelValue | string | number | undefined | Se emite cuando el valor del input cambia |
update:leftOption | string | undefined | Se emite cuando el valor del selector izquierdo cambia |
update:rightOption | string | undefined | Se emite cuando el valor del selector derecho cambia |
Slots
| Nombre | Descripcion |
|---|---|
left | Contenido personalizado en el lado izquierdo del input |
right | Contenido personalizado en el lado derecho del input |