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();