سلام
من از لایبرری react-native-super-grid در کدم استفاده کردم .دیتا رو از سرور میگیرم و فیلد images که شامل یک jsonArray هست و مجموعه ی عکس ها داخلش هست به این صورت :
["images" : ["image1","image2","image3"
value ی این فیلد رو داخل یک state نگه میدارم و اون رو به gridView میدم و الان میخوام با کلیک روی یک آیتم اون رو حذف کنم که میتونه هرکدوم از آیتم ها باشه ، اگه میشه به من کمک کنید
و اگه راه حل دیگه ای برای حل این مشکل دارید (دریافت یکjsonArray شامل مجوعه ی عکس ها ک در یک گریدویو نمایش داده شود و با کلیک روی هر آیتم گرید ویو آن آیتم پاک شود و یک لیست از آیتم هایی دارم که حذف شده ها داخلش نیستن) ممنون میشم کمکم کنید
خوب index ایتم مورد نظر داخل آرایه رو پیدا میکنید از ارایه پاکش میکنید و آپدیت میکنید state خودتونو.
بله این کار رو کردم ولی الان یه مشکل دیگه دارم
من توی تابع onPress تگ image به یه تابع اشاره کردم که اون index رو پاک کنه ولی به محض اینکه صفحه بالا میاد اون تابع اجرا میشه و همه ی آیتم ها پاک میشن در صورتی که باید اگه تگ image ، زده شد یا ب اصطلاح press شد اون تابع کار کنه !
<View style={{position: 'absolute'}} > <Image source={require('../../assets/image/close.png')} style={statisticsStyle.icon} onPress={this.deleteImages(index)} /> </View>
deleteImages(index){ this.state.images.splice(index); }
لطفا کد ها رو در سه backtike در ابتدا و انتهای خودتون قرار بدید
فک کنم در پیاده سازی onPress مشکل دارید کد زیر رو قرار بدید
onPress={() => {
this.deleteImages(index)
}}
ممنون از وقتی که گذاشتید فقط لطف میکنید اگر استفاده از متد onPress و توابع این چنینی که بصورت
{() => ...}
هستند رو در آموزش ها بیشتر توضیح بدید چون مدل های متفاوتی دارند و آدم دچار سردرگمی میشه!
و برای دوستانی که میخونن این تاپیک رو باید بگم بجای تگ image از button استفاده کردم و مشکل حل شد.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟