InputUpload
El componente InputUpload permite a los usuarios cargar archivos, proporcionando opciones de previsualización y una interfaz personalizable para seleccionar o arrastrar y soltar archivos.
Ejemplo
Importación
Para importar el componente InputUpload, se puede hacer desde fenextjs
import { InputUpload } from "fenextjs";Parámetros
| Parámetro | Tipo | Requerido | Default | Descripcion |
|---|---|---|---|---|
| title | ReactNode | no | "Drag and drop here" | Título mostrado en el área de carga de archivos. |
| text | ReactNode | no | "Drag and drop your file or template here." | Texto adicional que se muestra en el área de carga de archivos. |
| titleFile | ReactNode | no | undefined | Título personalizado que se muestra al seleccionar un archivo. |
| textFile | ReactNode | no | undefined | Texto personalizado que se muestra al seleccionar un archivo. |
| textPreview | ReactNode | no | "Preview File" | Texto que se muestra para la previsualización del archivo. |
| icon | ReactNode | no | <Upload2 /> | Icono que se muestra en el área de carga. |
| iconFile | ReactNode | no | "" | Icono que se muestra junto con el archivo cargado. |
| btn | ReactNode | no | "Choose File" | Texto o componente personalizado para el botón de selección de archivo. |
| tagPreview | "embed" | "img" | no | "embed" | Etiqueta HTML usada para mostrar la previsualización del archivo. Puede ser 'embed' o 'img'. |
| customPreview | (data: FileProps) => ReactNode | no | undefined | Función personalizada para renderizar la previsualización del archivo. |
| loader | boolean | no | false | Determina si se muestra un indicador de carga mientras se sube el archivo. |
| iconLoader | ReactNode | no | <LoaderSpinner /> | Icono o componente que se muestra mientras el archivo está en proceso de carga. |
| parseProgress | (e: number) => string | no | (e) => Uploading . . . $\{e.toFixed(0)\}% | Función que permite personalizar el texto de progreso de la carga de archivos. |
| onChange | (file: File) => void | no | undefined | Función que se ejecuta cuando el archivo cambia, recibe el archivo seleccionado. |
Storybook
Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)
Usos
- InputUpload básico
<InputUpload />- InputUpload con texto personalizado
<InputUpload
title="Sube tu archivo aquí"
text="Arrastra y suelta tu archivo o selecciónalo desde tu dispositivo"
/>- InputUpload con previsualización de imagen
<InputUpload tagPreview="img" />- InputUpload con un botón personalizado
<InputUpload btn={<Button>Cargar Archivo</Button>} />