Livewire Alert Livewire Alert

Core Pattern

Button Events

Wire SweetAlert2 button results back to Livewire methods with onConfirm(), onDeny(), and onDismiss().

onConfirm()

Use onConfirm() to call a Livewire method after the confirm button is clicked.

Live demo
SweetAlert2
PHP
LivewireAlert
LivewireAlert::title('Save?')
    ->withConfirmButton('Save')
    ->onConfirm('saveData', ['id' => $this->itemId])
    ->show();

public function saveData(array $data)
{
    $itemId = $data['id'];
}

onDismiss()

Dismiss events cover cancel buttons, backdrop dismissals, escape key dismissals, and close actions.

Live demo
SweetAlert2
PHP
LivewireAlert
LivewireAlert::title('Delete?')
    ->withConfirmButton('Delete')
    ->withCancelButton('Keep')
    ->onDismiss('cancelDelete', ['id' => $this->itemId])
    ->show();

public function cancelDelete(array $data)
{
    $itemId = $data['id'];
}

onDeny()

Use deny when the user is choosing a meaningful alternative, not just cancelling.

Live demo
SweetAlert2
PHP
LivewireAlert
LivewireAlert::title('Update?')
    ->withConfirmButton('Update')
    ->withDenyButton('Discard')
    ->onDeny('discardChanges', ['id' => $this->itemId])
    ->show();

public function discardChanges(array $data)
{
    $itemId = $data['id'];
}

Using them together

An alert can map every possible decision to a different Livewire method.

Live demo
SweetAlert2
PHP
LivewireAlert
LivewireAlert::title('Process File')
    ->text('What would you like to do?')
    ->question()
    ->withConfirmButton('Save')
    ->withCancelButton('Cancel')
    ->withDenyButton('Delete')
    ->onConfirm('saveFile', ['id' => $this->fileId])
    ->onDeny('deleteFile', ['id' => $this->fileId])
    ->onDismiss('cancelAction', ['id' => $this->fileId])
    ->show();