我正在尝试为将使用Livewire放在一起的桌子开发自定义分页,客户有一种特定的方式希望显示分页。下面的某些代码是错误的,原因是我无法解决很多情况。但是,我很乐意就需要添加,删除,重构的内容提出建议。
假设此分页器当前有13页处于页面加载状态,并将默认设置为第1页。下面的小表演示了我如何尝试获取正确的页码以显示在页面上。
Page Loaded Page Numbers Visible
1 1, 2, 3, 4, 5, 13
2 1, 2, 3, 4, 5, 13
3 1, 2, 3, 4, 5, 13
4 1, 2, 3, 4, 5, 13
5 1, 4, 5, 6, 13
6 1, 5, 6, 7, 13
7 1, 6, 7, 8, 13
8 1, 7, 8, 9, 13
9 1, 8, 9, 10, 13
10 1, 9, 10, 11, 12, 13
11 1, 9, 10, 11, 12, 13
12 1, 9, 10, 11, 12, 13
13 1, 9, 10, 11, 12, 13
@if (
$page > $paginator->lastPage() - 1 ||
$page == $paginator->onFirstPage() + 1 ||
$page == $paginator->currentPage() + 1 ||
$page == $paginator->currentPage() - 1 ||
$page <= $paginator->onFirstPage() + 5 ||
$paginator->currentPage() >= $paginator->lastPage() - 5 ||
($page < $paginator->onFirstPage() + 5 && $paginator->currentPage() + 1 > $page)
)
{
// show page number
}