react images uploading
3.1.7
npm
npm install --save react-images-uploading
Garn
yarn add react-images-uploading
Die Basis-Demo können Sie hier ansehen:
Basic
import React from 'react' ; import ImageUploading from 'react-images-uploading' ; export function App ( ) { const [ images , setImages ] = React . useState ( [ ] ) ; const maxNumber = 69 ; const onChange = ( imageList , addUpdateIndex ) => { // data for submit console . log ( imageList , addUpdateIndex ) ; setImages ( imageList ) ; } ; return ( < div className = "App" > < ImageUploading multiple value = { images } onChange = { onChange } maxNumber = { maxNumber } dataURLKey = "data_url" > { ( { imageList , onImageUpload , onImageRemoveAll , onImageUpdate , onImageRemove , isDragging , dragProps , } ) => ( // write your building UI < div className = "upload__image-wrapper" > < button style = { isDragging ? { color : 'red' } : undefined } onClick = { onImageUpload } { ... dragProps } > Click or Drop here < / button > < button onClick = { onImageRemoveAll } > Remove all images < / button > { imageList . map ( ( image , index ) => ( < div key = { index } className = "image-item" > < img src = { image [ 'data_url' ] } alt = "" width = "100" / > < div className = "image-item__btn-wrapper" > < button onClick = { ( ) => onImageUpdate ( index ) } > Update < / button > < button onClick = { ( ) => onImageRemove ( index ) } > Remove < / button > < / div > < / div > ) ) } < / div > ) } < / ImageUploading > < / div > ) ; }
Validierung
...
{ ( { imageList , onImageUpload , onImageRemoveAll , errors } ) => (
errors && < div >
{ errors . maxNumber && < span > Number of selected images exceed maxNumber < / span>}
{ errors . acceptType && < span > Your selected file type is not allow < / span>}
{ errors . maxFileSize && < span > Selected file size exceed maxFileSize < / span>}
{ errors . resolution && < span > Selected file is not match your desired resolution < / span>}
< / div >
) }
...
Drag-and-Drop
... { ( { imageList , dragProps , isDragging } ) => ( < div { ... dragProps } > { isDragging ? "Drop here please" : "Upload space" } { imageList . map ( ( image , index ) => ( < img key = { index } src = { image . data_url } / > ) ) } < / div > ) } ...
Parameter | Typ | Optionen | Standard | Beschreibung |
---|---|---|---|---|
Wert | Array | [] | Liste der Bilder | |
onChange | Funktion | (imageList, addUpdateIndex) => void | Wird aufgerufen, wenn die Aktion „Hinzufügen“, „Aktualisieren“ oder „Löschen“ aufgerufen wird | |
dataURLKey | Zeichenfolge | DatenURL | Benutzerdefinierter Feldname, dem Base64 des ausgewählten Bildes zugewiesen wird | |
mehrere | Boolescher Wert | FALSCH | Bei Mehrfachauswahl auf true setzen | |
maxNumber | Nummer | 1000 | Anzahl der Bilder, die der Benutzer auswählen kann, wenn Modus = multiple | |
onError | Funktion | (Fehler, Dateien) => ungültig | Wird aufgerufen, wenn Fehler vorliegen | |
AcceptType | Array | ['jpg', 'gif', 'png'] | [] | Die Dateierweiterung(en) zum Hochladen |
maxFileSize | Nummer | Maximale Bildgröße (Byte) und wird bei der Validierung verwendet | ||
Auflösungstyp | Zeichenfolge | 'absolut' | 'weniger' | 'mehr' | 'Verhältnis' | Verwendung zur Bildvalidierung mit der angegebenen Breite und Höhe | |
AuflösungBreite | Nummer | > 0 | ||
AuflösungHöhe | Nummer | > 0 | ||
inputProps | React.HTMLProps | |||
AllowNonImageType | Boolescher Wert | FALSCH | Verwendung zum Hochladen von Nicht-Bild-Typ-Zwecken (z. B. txt, pdf, heic, ...) |
Auflösungstyp
Wert | Beschreibung |
---|---|
Absolute | Bildbreite === Auflösungsbreite && Bildhöhe === Auflösungshöhe |
Verhältnis | (ResolutionWidth / ResolutionHeight) === (Bildbreite / Bildhöhe) |
weniger | Bildbreite < ResolutionWidth && Bildhöhe < ResolutionHeight |
mehr | Bildbreite > Auflösungsbreite && Bildhöhe > Auflösungshöhe |
Parameter | Typ | Beschreibung |
---|---|---|
Bildliste | Array | Liste der zu rendernden Bilder. |
onImageUpload | Funktion | Wird aufgerufen, wenn auf ein Element geklickt wird und das Öffnen eines Dateidialogs ausgelöst wird |
onImageRemoveAll | Funktion | Wird aufgerufen, wenn alle Bilder entfernt werden |
onImageUpdate | (updateIndex: Zahl) => void | Wird aufgerufen, wenn ein Bild bei updateIndex aktualisiert wird. |
onImageRemove | (deleteIndex: Zahl | Zahl[]) => void | Wird aufgerufen, wenn ein Bild oder ein Listenbild entfernt wird. |
Fehler | Objekt | Exportiertes Validierungsobjekt |
DragProps | Objekt | Native Element-Requisiten für die Drag-and-Drop-Funktion |
istZiehen | Boolescher Wert | „true“, wenn ein Bild gezogen wird |
Der Dank geht an diese wunderbaren Menschen (Emoji-Taste):
vutoan266 ? ? | David Nguyen ? ? | DK ? ? ? | Isaac Maseruka |
Dieses Projekt folgt der All-Contributors-Spezifikation. Beiträge jeglicher Art willkommen!