links()
Метод links используется в Blade-шаблоне компонента Livewire,
который реализует постраничную навигацию с помощью трейта
WithPagination. Он генерирует HTML-код с кнопками перехода
по страницам, аналогично стандартной пагинации Laravel.
Метод вызывается без параметров и возвращает экземпляр
IlluminatePaginationLengthAwarePaginator, отрисовывая
ссылки с помощью Bootstrap или Tailwind в зависимости от настроек.
Синтаксис
{{ $items->links() }}
Пример
Создадим компонент UsersList, который выводит список
пользователей с пагинацией. В Blade-шаблоне используем
links для отображения навигации:
<?php
namespace AppLivewire;
use LivewireComponent;
use LivewireWithPagination;
use AppModelsUser;
class UsersList extends Component
{
use WithPagination;
public function render()
{
$users = User::paginate(5);
return view('livewire.users-list', [
'users' => $users
]);
}
}
?>
<div>
@foreach ($users as $user)
<p>{{ $user->name }}</p>
@endforeach
{{ $users->links() }}
</div>
Результат выполнения кода:
<p>Иван Петров</p>
<p>Мария Смирнова</p>
<p>Алексей Иванов</p>
<p>Елена Кузнецова</p>
<p>Дмитрий Соколов</p>
<nav>
<ul class="pagination">
<li class="disabled"><span>«</span></li>
<li class="active"><span>1</span></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">»</a></li>
</ul>
</nav>
Пример
Метод links также позволяет кастомизировать отображение,
передавая представление в качестве аргумента. Например, можно
использовать Tailwind с собственной темой:
<div>
@foreach ($posts as $post)
<article>{{ $post->title }}</article>
@endforeach
{{ $posts->links('pagination::tailwind') }}
</div>
Пример
Если вам нужно отобразить пагинацию с дополнительными данными,
например, количество записей, можно комбинировать links
с другими свойствами пагинатора:
<div>
<p>Всего товаров: {{ $products->total() }}</p>
@foreach ($products as $product)
<div>{{ $product->name }} - {{ $product->price }}</div>
@endforeach
{{ $products->links() }}
</div>
Смотрите также
-
трейт
WithPagination,
который добавляет поддержку пагинации в компонент -
метод
withQueryString,
который сохраняет параметры запроса при пагинации -
метод
resetPage,
который сбрасывает текущую страницу при обновлении данных -
класс
WithoutUrlPagination,
который отключает URL-параметры для пагинации