input
File

InputFile

El componente InputFile permite a los usuarios seleccionar y subir archivos desde su dispositivo. Admite validaciones como tipos de archivo permitidos y tamaño máximo de archivo.

Ejemplo

Importación

Para importar el componente InputFile, se puede hacer desde fenextjs

import { InputFile } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
acceptstring[]no[]Tipos de archivo permitidos para la entrada. Ejemplo: ['jpg', 'png']
defaultValueFilePropsno{ fileData: '', text: '' }Valor predeterminado del archivo. Usado para establecer un archivo inicial.
onChange(v: FileProps) => voidnoundefinedFunción que se ejecuta cuando se selecciona un archivo.
onChangeProgress(v: number) => voidnoundefinedFunción que se ejecuta al actualizar el progreso de la carga.
onChangeError(v: ErrorProps | undefined) => voidnoundefinedFunción que se ejecuta cuando hay un error durante la carga.
onUploadFile(data: InputFileUploadDataProps) => Promise<FileProps>noundefinedFunción que se ejecuta para manejar la carga del archivo.
clearAfterUploadbooleannofalseIndica si se debe limpiar el input después de una carga éxitosa.
MAX_SIZE_FILEnumberno5000000Tamaño máximo del archivo en bytes que se puede subir.
parseProgress(progres: number) => anyno(e) => eFunción para analizar el progreso de la carga.
disabledbooleannofalseIndica si el input de archivo está deshabilitado.
textMaxSizeFilestringno'File max size'Texto que se muestra al superar el tamaño máximo permitido.
classNamestringno''Clase CSS para el componente principal.
classNameLabelstringno''Clase CSS para la etiqueta del componente.
classNameContentstringno''Clase CSS para el contenido del componente.
classNameInputstringno''Clase CSS para el input de archivo.
classNameErrorstringno''Clase CSS para el mensaje de error.

Storybook

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

Usos

  • Selector de archivos con validación de tipo
<InputFile accept={["jpg", "png"]} onChange={(file) => console.log(file)} />
  • Selector de archivos con tamaño máximo
<InputFile
  MAX_SIZE_FILE={2000000}
  textMaxSizeFile="El archivo supera el límite de tamaño."
  onChange={(file) => console.log(file)}
/>
  • Selector de archivos deshabilitado
<InputFile disabled={true} onChange={(file) => console.log(file)} />