РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwSpAcDb 37 of 102 menu
◀ ▶

Отложенный вызов в Livewire

Давайте разберём такой случай. Поле поиска вызывает метод на каждую букву, и запросы сыпятся на сервер, пока человек ещё набирает слово. Нужен один вызов, когда набор на мгновение затих.

Модификатор .debounce ждёт паузу между событиями. Пока клавиши идут подряд, метод не вызывается; после короткого затишья уходит один запрос.

Страница откроется по адресу /posts/seek. Давайте опишем компонент PostSeek:

<?php namespace App\Livewire; use Livewire\Component; class PostSeek extends Component { public $count = 0; public function seek() { $this->count++; } public function render() { return view('livewire.post-seek'); } } ?>

Давайте свяжем поле с keydown, debounce и счётчиком вызовов:

<div> <input type="text" wire:keydown.debounce.500ms="seek" > <div>{{ $count }}</div> </div>

Давайте откроем страницу по адресу /posts/seek:

<?php Route::get('/posts/seek', function () { return view('posts-seek'); }); ?>

Давайте вставим компонент на страницу:

<x-layout> <livewire:post-seek /> </x-layout>

Создайте компонент EmployeeSeek. Поиск работника срабатывает после короткой паузы в наборе, а не на каждую букву.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить