Задержка индикатора в Livewire
Давайте разберём такой случай. Запрос на сервер успевает закончиться почти сразу, а подпись ожидания всё равно на миг вспыхивает. Страница дёргается, хотя человек ничего долго не ждал.
У wire:loading есть
модификатор .delay:
подпись показывается только
если запрос длится дольше
короткой паузы. Быстрые
действия остаются без
лишнего мигания.
Давайте создадим компонент
PostLag:
php artisan make:livewire PostLag --class
Давайте добавим маршрут и страницу:
<?php
Route::get('/posts/lag', function () {
return view('posts-lag');
});
?>
<x-layout>
<livewire:post-lag />
</x-layout>
Давайте оставим сохранение коротким, без паузы в методе:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostLag extends Component
{
public function save()
{
}
public function render()
{
return view('livewire.post-lag');
}
}
?>
Давайте повесим на подпись модификатор задержки:
<div>
<button wire:click="save">
Save
</button>
<div wire:loading.delay>
Wait
</div>
</div>
Создайте компонент EmployeeLag.
Подпись ожидания не вспыхивает
на коротком сохранении работника.