Подтверждение действия в Livewire
Пусть на странице одна кнопка стирает пост. Случайный клик сразу вызывает метод, браузер ничего не спрашивает, и отменить шаг уже нечем.
Перед вызовом действия Livewire
может показать текст вопроса.
Для этого на кнопку ставят
атрибут wire:confirm
с фразой подтверждения.
Если человек откажется,
запрос не уйдёт.
Давайте создадим компонент
PostDrop:
php artisan make:livewire PostDrop --class
Давайте добавим маршрут и страницу:
<?php
Route::get('/posts/drop', function () {
return view('posts-drop');
});
?>
<x-layout>
<livewire:post-drop />
</x-layout>
Давайте заведём свойство и метод удаления без базы:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostDrop extends Component
{
public $note = '';
public function drop()
{
$this->note = 'Gone';
}
public function render()
{
return view('livewire.post-drop');
}
}
?>
Давайте выведем кнопку с вопросом перед действием:
<div>
<button
wire:click="drop"
wire:confirm="Delete this post?"
>
Delete
</button>
<div>{{ $note }}</div>
</div>
Создайте компонент EmployeeDrop.
Перед удалением работника
страница спрашивает подтверждение.