Как остановить wire:poll?

В фреймворке Laravel для остановки повторяющегося обновления с помощью директивы wire:poll необходимо выполнить следующие шаги:

1. Внедрите в компонент метод stopPolling, который будет отвечать за остановку опроса:

public function stopPolling()
{
    $this->stopPolling = true;
}

2. Добавьте условие в компоненте для остановки опроса, если флаг stopPolling установлен в true:

public $stopPolling = false;

public function render()
{
    // Остановка опроса, если флаг установлен в true
    if ($this->stopPolling) {
        $this->emit('refreshLivewireComponent');
        return null;
    }

    return view('livewire.your-component');
}

3. Добавьте обработчик события для обновления компонента после остановки опроса в Livewire-компоненте:

protected $listeners = ['refreshLivewireComponent' => '$refresh'];

public function render()
{
    return view('livewire.your-component');
}

4. В вашем шаблоне, где используется директива wire:poll, добавьте метод stopPolling на кнопку или событие, при котором нужно остановить опрос:

<div>
    <button wire:click="stopPolling">Stop Polling</button>
</div>

После выполнения этих шагов, при нажатии на кнопку "Stop Polling" опрос будет остановлен, и компонент перестанет обновляться автоматически.