اذهب إلى المحتوى
  • 0

مشكلة تحديث Lightgallery مع Livewire

جواد حيدر

السؤال

I use blade to show my project detail in database I have

phone table which contain detail for the phone 

and phonecolor table which contain four string for four i

mage which image1 , image2 , image3 , image4 

in blade I display the color like foreach phone->phonecolor as color  

and when I click on any color it display the phonecolor image which image1 image2, image... it work well and lightgallery work well but when I click on some color to display It work but lightgallery didn't update when I click on the image 1 or imag2 to zoom it in large screen it didn't work it display the previous color 

I mean the lightgallery didn't update with livewire any more when the number of image update 

can any one help 

تم التعديل في بواسطة Mustafa Suleiman
تعديل عنوان السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

لنتفق أولاً على المشكلة لديك وهي بالوصف التالي:

  • تستخدم Blade لعرض تفاصيل المشروع من قاعدة البيانات.
  • لديك جدول phone يحتوي على تفاصيل الهاتف وجدول phonecolor يحتوي على أربعة سلاسل لأربعة صور (image1, image2, image3, image4).
  • في Blade، تعرض الألوان باستخدام foreach phone->phonecolor as color.
  • عند النقر على أي لون، يتم عرض صور phonecolor (أي image1، image2، إلخ).
  • يعمل Lightgallery بشكل صحيح عند النقر على لون لعرض الصور.
  • ومع ذلك، عندما تقوم بالنقر على صورة واحدة (مثل image1 أو image2) لتكبيرها، لا يتم تحديث Lightgallery ولا يتم تكبير الصورة الصحيحة.
  •  Lightgallery لم تعد تتفاعل مع Livewire عند تحديث عدد الصور.

فهل  قمت بتحديث مكونات Livewire بشكل صحيح عند النقر على لون مختلف؟ حيث تستطيع ذلك بواسطة $refresh() أو إعادة توجيه المستخدم إلى نفس الصفحة باستخدام $goto() للتأكد من إعادة تحميل المكون وتحديث Lightgallery.

أيضًا  أضف الخاصية livewire:key إلى العناصر التي يتم تحديثها ديناميكيًا (مثل معرض Lightgallery). سيضمن ذلك إعادة تقديم العنصر بشكل صحيح عند تغير البيانات.

<div x-data="{ selectedColor: 'black' }">
    <button @click="selectedColor = 'black'">أسود</button>
    <button @click="selectedColor = 'white'">أبيض</button>

    <div x-show="selectedColor === 'black'" livewire:key="black-images">
        </div>

    <div x-show="selectedColor === 'white'" livewire:key="white-images">
        </div>
</div>

مع التأكد من أن كود JavaScript الخاص بك الذي يحاول تكبير الصور يعمل بشكل صحيح مع Livewire، فربما تحتاج إلى تعديل الكود لاستهداف العناصر الصحيحة بعد تحديث المكونات، أو التفكير في استخدام مكتبة أخرى مثل photoswipe أو swiper.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 32 دقائق مضت قال Mustafa Suleiman:

لنتفق أولاً على المشكلة لديك وهي بالوصف التالي:

  • تستخدم Blade لعرض تفاصيل المشروع من قاعدة البيانات.
  • لديك جدول phone يحتوي على تفاصيل الهاتف وجدول phonecolor يحتوي على أربعة سلاسل لأربعة صور (image1, image2, image3, image4).
  • في Blade، تعرض الألوان باستخدام foreach phone->phonecolor as color.
  • عند النقر على أي لون، يتم عرض صور phonecolor (أي image1، image2، إلخ).
  • يعمل Lightgallery بشكل صحيح عند النقر على لون لعرض الصور.
  • ومع ذلك، عندما تقوم بالنقر على صورة واحدة (مثل image1 أو image2) لتكبيرها، لا يتم تحديث Lightgallery ولا يتم تكبير الصورة الصحيحة.
  •  Lightgallery لم تعد تتفاعل مع Livewire عند تحديث عدد الصور.

فهل  قمت بتحديث مكونات Livewire بشكل صحيح عند النقر على لون مختلف؟ حيث تستطيع ذلك بواسطة $refresh() أو إعادة توجيه المستخدم إلى نفس الصفحة باستخدام $goto() للتأكد من إعادة تحميل المكون وتحديث Lightgallery.

أيضًا  أضف الخاصية livewire:key إلى العناصر التي يتم تحديثها ديناميكيًا (مثل معرض Lightgallery). سيضمن ذلك إعادة تقديم العنصر بشكل صحيح عند تغير البيانات.

<div x-data="{ selectedColor: 'black' }">
    <button @click="selectedColor = 'black'">أسود</button>
    <button @click="selectedColor = 'white'">أبيض</button>

    <div x-show="selectedColor === 'black'" livewire:key="black-images">
        </div>

    <div x-show="selectedColor === 'white'" livewire:key="white-images">
        </div>
</div>

مع التأكد من أن كود JavaScript الخاص بك الذي يحاول تكبير الصور يعمل بشكل صحيح مع Livewire، فربما تحتاج إلى تعديل الكود لاستهداف العناصر الصحيحة بعد تحديث المكونات، أو التفكير في استخدام مكتبة أخرى مثل photoswipe أو swiper.

اعتذر للكتابه بالانكليزي 

هذا نموذج من الكود لدي هل يمكنك اخباري كيف يمكن تحديثه 

شكر لكم جدا

Screenshot 2024-02-16 at 7.22.45 PM.png

Screenshot 2024-02-16 at 7.28.10 PM.png

Screenshot 2024-02-16 at 7.27.25 PM.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 16‏/2‏/2024 at 18:30 قال جواد حيدر:

اعتذر للكتابه بالانكليزي 

هذا نموذج من الكود لدي هل يمكنك اخباري كيف يمكن تحديثه 

شكر لكم جدا

هل يمكنك ارسال جزء الكود الخاص ب lightgallery وايضا الجزء الخاص بالحدث refreshComponentx

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...