react images uploading
3.1.7
npm
npm install --save react-images-uploading
غزل
yarn add react-images-uploading
يمكنك الاطلاع على العرض التوضيحي الأساسي هنا:
أساسي
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 > ) ; }
تصديق
...
{ ( { 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 >
) }
...
السحب والإسقاط
... { ( { imageList , dragProps , isDragging } ) => ( < div { ... dragProps } > { isDragging ? "Drop here please" : "Upload space" } { imageList . map ( ( image , index ) => ( < img key = { index } src = { image . data_url } / > ) ) } < / div > ) } ...
المعلمة | يكتب | خيارات | تقصير | وصف |
---|---|---|---|---|
قيمة | صفيف | [] | قائمة الصور | |
onChange | وظيفة | (imageList, addUpdateIndex) => باطل | يتم استدعاؤه عند استدعاء إجراء الإضافة أو التحديث أو الحذف | |
dataURLKey | خيط | dataURL | اسم الحقل المخصص الذي تم تعيين base64 للصورة المحددة له | |
عديد | منطقية | خطأ شنيع | تعيين true للاختيارات المتعددة | |
maxNumber | رقم | 1000 | عدد الصور التي يمكن للمستخدم تحديدها إذا كان الوضع = multiple | |
خطأ | وظيفة | (الأخطاء، الملفات) => باطلة | يتم استدعاؤه عندما يكون به أخطاء | |
قبولType | صفيف | ['jpg'، 'gif'، 'png'] | [] | امتداد الملف (امتدادات) الملف المراد تحميله |
maxFileSize | رقم | الحد الأقصى لحجم الصورة (بايت) ويتم استخدامه في التحقق من الصحة | ||
نوع الدقة | خيط | 'مطلقة' | 'أقل' | "المزيد" | 'نسبة' | الاستخدام للتحقق من صحة الصورة مع العرض والارتفاع المقدمين | |
عرض الدقة | رقم | > 0 | ||
القرارارتفاع | رقم | > 0 | ||
inputProps | React.HTMLProps | |||
allowNonImageType | منطقية | خطأ شنيع | الاستخدام لتحميل غرض غير نوع الصورة (على سبيل المثال، txt، pdf، heic، ...) |
نوع الدقة
قيمة | وصف |
---|---|
مطلق | عرض الصورة === عرض الدقة && ارتفاع الصورة === ارتفاع الدقة |
نسبة | (عرض الدقة / ارتفاع الدقة) === (عرض الصورة / ارتفاع الصورة) |
أقل | عرض الصورة < عرض الدقة && ارتفاع الصورة < ارتفاع الدقة |
أكثر | عرض الصورة > الدقة العرض && ارتفاع الصورة > الدقة الارتفاع |
المعلمة | يكتب | وصف |
---|---|---|
imageList | صفيف | قائمة الصور لتقديمها. |
onImageUpload | وظيفة | يتم استدعاؤه عند النقر على عنصر ما وتشغيله لفتح مربع حوار الملف |
onImageRemoveAll | وظيفة | يتم استدعاؤه عند إزالة كافة الصور |
onImageUpdate | (updateIndex: number) => باطل | يتم استدعاؤه عند تحديث صورة في updateIndex . |
onImageRemove | (deleteIndex: number | number[]) => void | يتم استدعاؤه عند إزالة صورة واحدة أو صورة قائمة. |
أخطاء | هدف | تم تصدير كائن التحقق من الصحة |
DragProps | هدف | دعائم العناصر الأصلية لميزة السحب والإفلات |
هو السحب | منطقية | "صحيح" إذا تم سحب الصورة |
شكرًا لهؤلاء الأشخاص الرائعين (مفتاح الرموز التعبيرية):
vtoan266 ؟ ؟ | ديفيد نجوين ؟ ؟ | لا أعرف ؟ ؟ ؟ | إسحاق ماسيروكا |
يتبع هذا المشروع مواصفات جميع المساهمين. المساهمات من أي نوع موضع ترحيب!