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

Метод resetPage

Метод resetPage трейта WithPagination предназначен для сброса текущей страницы пагинации к значению по умолчанию (обычно к первой странице). Этот метод полезен при обновлении списка данных, изменении фильтров или сортировки, чтобы пользователь не оказался на несуществующей странице после обновления.

Метод не принимает параметров и ничего не возвращает. Он изменяет внутреннее состояние компонента, сбрасывая параметр страницы в URL и обновляя отображение данных.

Синтаксис

<?php namespace AppLivewire; use LivewireComponent; use LivewireWithPagination; class UserList extends Component { use WithPagination; public function resetPage() { $this->resetPage(); } } ?>

Пример

Давайте создадим компонент со списком пользователей и кнопкой сброса текущей страницы:

<?php namespace AppLivewire; use LivewireComponent; use LivewireWithPagination; use AppModelsUser; class UserList extends Component { use WithPagination; public function render() { $users = User::paginate(10); return view('livewire.user-list', [ 'users' => $users ]); } } ?>
<div> <button wire:click="resetPage"> Reset page </button> @foreach ($users as $user) <div>{{ $user->name }}</div> @endforeach {{ $users->links() }} </div>

После нажатия на кнопку текущая страница будет сброшена на первую.

Пример

Давайте добавим поиск по имени пользователя. При изменении поискового запроса будем сбрасывать страницу, чтобы результаты поиска отображались с первой страницы:

<?php namespace AppLivewire; use LivewireComponent; use LivewireWithPagination; use AppModelsUser; class SearchUsers extends Component { use WithPagination; public $search = ''; public function updatingSearch() { $this->resetPage(); } public function render() { $users = User::where('name', 'like', '%' . $this->search . '%') ->paginate(10); return view('livewire.search-users', [ 'users' => $users ]); } } ?>
<div> <input type="text" wire:model.live="search" placeholder="Search users..."> @foreach ($users as $user) <div>{{ $user->name }}</div> @endforeach {{ $users->links() }} </div>

Теперь при каждом изменении текста в поле поиска текущая страница будет сбрасываться на первую, что гарантирует корректное отображение результатов.

Смотрите также

  • метод setPage,
    который устанавливает конкретную страницу пагинации
  • метод previousPage,
    который переключает на предыдущую страницу
  • метод nextPage,
    который переключает на следующую страницу
  • трейт WithPagination,
    который добавляет функционал пагинации в компонент
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить