InputSelectOption
El componente InputSelectOption permite mostrar opciones seleccionables con texto, imágenes o íconos, además de proporcionar funcionalidades adicionales como la eliminación de opciones y la personalización de eventos.
Ejemplo
Importación
Para importar el componente InputSelectOption, se puede hacer desde fenextjs
import { InputSelectOption } from "fenextjs";
Parámetros
Parámetro | Tipo | Requerido | Default | Descripcion |
---|---|---|---|---|
id | string | number | sí | undefined | ID de la opción, que puede ser un string o un número. |
text | string | sí | undefined | Texto que se mostrará en la opción. |
img | string | no | undefined | URL de la imagen que se mostrará en la opción, si es proporcionada. |
imgComponent | ImgProps | no | undefined | Propiedades para personalizar el componente de imagen (Img). |
icon | ReactNode | no | undefined | Icono que se mostrará junto al texto de la opción. |
type | 'div' | 'option' | 'multiple' | no | 'div' | Define el tipo de opción que se renderiza: div, option, o multiple. |
disabled | boolean | no | false | Indica si la opción está deshabilitada. |
selected | boolean | no | false | Indica si la opción está seleccionada. |
hidden | boolean | no | false | Indica si la opción está oculta. |
onClick | (item: InputSelectOptionBaseProps) => void | no | undefined | Función que se ejecuta al hacer click en la opción. |
onDelete | (item: InputSelectOptionBaseProps) => void | no | undefined | Función que se ejecuta al eliminar la opción. |
isBtn | boolean | no | false | Indica si la opción se debe comportar como un botón. |
data | T | no | undefined | Datos personalizados asociados con la opción. |
iconDelete | ReactNode | no | <Trash /> | Icono personalizado para la eliminación de la opción. |
classNameOption | string | no | '' | Clase CSS para personalizar la opción. |
classNameOptionImg | string | no | '' | Clase CSS para personalizar la imagen de la opción. |
classNameOptionDelete | string | no | '' | Clase CSS para personalizar el botón de eliminar de la opción. |
Storybook
Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)
Usos
- Opción básica
<InputSelectOption id={1} text="Opción 1" />
- Opción con imagen
<InputSelectOption id={2} text="Opción 2" img="/path/to/img.jpg" />
- Opción con acción personalizada
<InputSelectOption
id={3}
text="Opción 3"
onClick={(item) => console.log(item)}
/>
- Opción deshabilitada
<InputSelectOption id={4} text="Opción 4" disabled={true} />