يوفر Livewire v4 مربعات حوار تأكيد المتصفح المدمجة للإجراءات التدميرية.
التأكيد الأساسي
<!-- تأكيد بسيط قبل الحذف -->
<button
wire:click="delete"
wire:confirm="هل أنت متأكد أنك تريد حذف هذا العنصر؟"
class="bg-red-500 text-white px-4 py-2 rounded"
>
حذف العنصر
</button>
<!-- تأكيد لأي إجراء -->
<button
wire:click="resetAll"
wire:confirm="هذا سيعيد جميع الإعدادات للافتراضي. متابعة؟"
>
إعادة تعيين الإعدادات
</button>رسائل تأكيد ديناميكية
<!-- تضمين اسم العنصر في التأكيد -->
@foreach($users as $user)
<div class="flex justify-between items-center">
<span>{{ $user->name }}</span>
<button
wire:click="deleteUser({{ $user->id }})"
wire:confirm="هل أنت متأكد من حذف {{ $user->name }}؟ لا يمكن التراجع."
>
حذف
</button>
</div>
@endforeach
<!-- مع معلومات العدد -->
<button
wire:click="deleteSelected"
wire:confirm="حذف {{ count($selected) }} عناصر محددة؟"
>
حذف المحدد ({{ count($selected) }})
</button>دالة المكون
class UserManager extends Component
{
public function deleteUser(int $userId): void
{
// هذا يعمل فقط إذا أكد المستخدم
$user = User::findOrFail($userId);
$user->delete();
session()->flash('message', 'تم حذف المستخدم بنجاح');
}
public function deleteSelected(): void
{
User::whereIn('id', $this->selected)->delete();
$this->selected = [];
}
}