Вызов с задержкой в Livewire
Давайте теперь возьмём кнопку удаления поста. Она срабатывает сразу, а хочется дать мгновение одуматься, прежде чем запрос уйдёт на сервер.
Модификатор .delay
с паузой в миллисекундах
откладывает вызов метода.
Пока время не вышло,
можно передумать
и убрать курсор с кнопки.
Страница откроется
по адресу /posts/pause.
Давайте опишем компонент
PostPause:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostPause extends Component
{
public $note = '';
public function drop()
{
$this->note = 'Dropped';
}
public function render()
{
return view('livewire.post-pause');
}
}
?>
Давайте повесим на кнопку задержку полсекунды и выведем свойство:
<div>
<button wire:click.delay.500ms="drop">
Delete
</button>
<div>{{ $note }}</div>
</div>
Давайте откроем страницу
по адресу /posts/pause:
<?php
Route::get('/posts/pause', function () {
return view('posts-pause');
});
?>
Давайте вставим компонент на страницу:
<x-layout>
<livewire:post-pause />
</x-layout>
Создайте компонент EmployeePause.
Удаление работника
срабатывает не сразу,
а с короткой паузой.