Por favor, eche un vistazo a este ejemplo de codesandbox .
Si ve en Line #186
para el cargador Advanced
, la propiedad múltiple se establece en falso:
<div className="card"> <h5>Advanced</h5> <FileUpload multiple={false} name="demo[]" url="https://primefaces.org/primereact/showcase/upload.php" onUpload={onUpload} accept="image/*" maxFileSize={1000000} emptyTemplate={ <p className="pm-0">Drag and drop files to here to upload.</p> } />
Esto no me permitirá presionar "SHIFT + Down Arrow Key"
para seleccionar varios archivos. Sin embargo, si selecciono un archivo usando el botón Choose
y hago clic en Open
, aparece en la lista. Si vuelvo a hacer clic en el botón Choose
y selecciono otro archivo y hago clic en Open
, ese archivo aparece. Por lo tanto, se siguen cargando varios archivos uno a la vez. ¿Cómo arreglar esto?
Me preguntaba si se activa algún evento después de que aparece el primer archivo en la lista para poder desactivar el botón Elegir en ese momento.
PD: no estoy seguro de cómo convertir un codesandbox en el fragmento de código para reaccionar y, por lo tanto, compartí un enlace anterior para el ejemplo de codesandbox.
Bueno, se supone que establecer la selección múltiple en falso evita que los usuarios seleccionen varios archivos, pero no puede evitar que vuelvan a hacer clic en el botón a menos que deshabilite el botón una vez que el archivo se haya cargado correctamente. Le sugiero que haga una variable como una bandera = 0 y una vez que capture una carga exitosa del usuario, haga la bandera = 1 y haga la condición si la bandera = 1 y luego deshabilite el clic del botón.
Verificaré el código y ajustaré mi respuesta más tarde y escribiré el código para usted si esta es una buena solución para usted.