Skip to content
全部文档

Pagination Blade 组件

简介

pagination 组件只能在 Livewire Blade 视图中使用。它可以渲染分页链接列表:

php
use App\Models\User;
use Illuminate\Contracts\View\View;
use Livewire\Component;

class ListUsers extends Component
{
    // ...

    public function render(): View
    {
        return view('livewire.list-users', [
            'users' => User::query()->paginate(10),
        ]);
    }
}
blade
<x-filament::pagination :paginator="$users" />
分页分页

或者,你可以使用简单分页或游标分页,此时只会渲染「上一页」和「下一页」按钮:

php
use App\Models\User;

User::query()->simplePaginate(10)
User::query()->cursorPaginate(10)
简单分页简单分页

允许用户自定义每页条目数

你可以通过向 page-options 属性传入选项数组,允许用户自定义每页条目数。还必须定义一个 Livewire 属性来存储用户的选择:

php
use App\Models\User;
use Illuminate\Contracts\View\View;
use Livewire\Component;

class ListUsers extends Component
{
    public int | string $perPage = 10;
    
    // ...
    
    public function render(): View
    {
        return view('livewire.list-users', [
            'users' => User::query()->paginate($this->perPage),
        ]);
    }
}
blade
<x-filament::pagination
    :paginator="$users"
    :page-options="[5, 10, 20, 50, 100, 'all']"
    current-page-option-property="perPage"
/>
带每页条数选项的分页带每页条数选项的分页

extreme links 是首页与末页链接。可通过向组件传入 extreme-links 属性来添加它们:

blade
<x-filament::pagination
    :paginator="$users"
    extreme-links
/>
带首末页链接的分页带首末页链接的分页