سلام و خسته نباشید به دوستان
اگر در یک کامپوننت چند رویداد مختلف کلیک داشته باشم
wire:click="send_()"
و بخواهم برای هر یک از رویداد یک لودینگ متفاوت تعریف کنیم باید چیکار کنم ؟
مثلا برای ارسال اطلاعات این کد نوشتم :
<div wire:loading >
منتظر بمانید
</span>
</div>
<div wire:loading.remove wire:click="send_()">
ارسال
</div>
حالا میخواستم برای قسمت paginate هم یک لودینگ داشته باشم . مثل روش بالا کل کد ها در یک div گذاشتم ولی به درستی کار نمیکنه
کسی نمیدونه باید با چه روشی بنویسم ؟
اگر بخوام سوالم واضح تر بگم
<div wire:loading >
دریافت اطلاعات
</div>
<div wire:loading.remove>
{{-- اطلاعات 1--}}
{{-- اطلاعات 2--}}
{{-- اطلاعات 3--}}
<div wire:loading >
منتظر بمانید
</span>
</div>
<div wire:loading.remove wire:click="send_()">
ارسال
</div>
{{-- اطلاعات 4--}}
{{-- اطلاعات 5--}}
</div>
این شکل کلی کدهایی که نوشتم .
لودینگ اول مربوط به نمایش کل اطلاعات زمان paginate هست .
زمانی که روی ارسال کلیک میکنم . لودینگ مربوط به خودش اجرا نمیشه و اولی اجرا میشه .
میخواستم لودینگ مجزا داشته باشم
ممنون میشم راهنمایییم کنید .
@sahelz74 سلام راحلش خیلی ساده است : باید از wire.target استفاده کنی
<div>
<button wire:click="checkout">Checkout</button>
<button wire:click="cancel">Cancel</button>
<div wire:loading wire:target="checkout">
Processing Payment...
</div>
</div>
@Saeeed
سلام خیلی ممنونم .
من برای کلیک target مشخص کردم . حالا برای paginate نمیدونم target باید چی تعیین کنم ؟
با وجود target هنوز هم برای تمام لودینگ ها این قسمت :
<div wire:loading >
دریافت اطلاعات
</div>
اجرا میکنه !
راه حلی برای لودینگ های تو در تو وجود نداره ؟
@sahelz74
لودینگ تو در تو معنا نداره ، شما هر جایی ، هر لودینگی که بذاری و تارگتش رو مشخص کنی ، وقتی اجرا میشه که دقیقا همون تارگت اجرا بشه . و فرقی نداره کجا باشه.
برای pagination هم ، بنظرم میاد باید کامپوننت pagination رو شخصی سازی کنی . میتونی کامپوننت دیفالت رو برداری و داخلش برای هر المان که خواستی wire:loading و wire:target بذاری . ولی با این روش ، دیگه همه pagination ها یه لودینگ میگیرن و زیاد منعطف نیست.
با مستندات زیر براحتی میتونی pagination کاستوم بسازی .
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟