In this lesson, let's see how to add a confirmation prompt before deleting a record.

So first, let's add a method to the Livewire component and a wire:click directive to the delete button to trigger that method.
app/Livewire/Products.php:
class Products extends Component{ // ... public function deleteProduct(int $productId): void { Product::where('id', $productId)->delete(); } // ...}
resources/views/livewire/products.blade.php:
<div class="space-y-6">// ... <td> <a href="#" class="inline-flex items-center px-4 py-2 bg-gray-800 rounded-md font-semibold text-xs text-white uppercase tracking-widest"> Edit </a> <a wire:click="deleteProduct({{ $product->id }})" href="#" class="inline-flex items-center px-4 py-2 bg-red-600 rounded-md font-semibold text-xs text-white uppercase tracking-widest"> // [tl! highlight] Delete </a> </td>// ...</div>
If you would try to delete any record, it would be successful.
Let's add an onlick event for a confirmation prompt.
resources/views/livewire/products.blade.php:
<div class="space-y-6">// ... <td> <a href="#" class="inline-flex items-center px-4 py-2 bg-gray-800 rounded-md font-semibold text-xs text-white uppercase tracking-widest"> Edit </a> <a wire:click="deleteProduct({{ $product->id }})" onclick="return confirm('Are you sure?') || event.stopImmediatePropagation()" href="#" class="inline-flex items-center px-4 py-2 bg-red-600 rounded-md font-semibold text-xs text-white uppercase tracking-widest"> // [tl! highlight] Delete </a> </td>// ...</div>
The important part of this event is the event.stopImmediatePropagation(). If we don't add it, then even if you cancel the prompt, the wire:click action will still be triggered.
