Skip to content

Pagination 分页

带页码的分页组件,支持自定义页码数量、响应式折叠、不同尺寸和全局主题配置。

基于 Radix Vue PaginationBrConfigProvider 实现。

基础用法

最基础的分页,通过 v-model:page 绑定当前页码。

Current page: 1
Example

自定义页码数量

通过 sibling-count 属性可以控制当前页码左右两侧显示的页码数量。

Sibling count: 3
Example

不同尺寸

支持 xs, sm, md, lg, xl, 2xl 尺寸变体。

Extra Small (xs)
Small (sm)
Medium (md)
Large (lg)
Extra Large (xl)
2 Extra Large (2xl)
Example

响应式折叠分页

结合 @vueuse/coreuseWindowSize 动态控制 sibling-count 实现小屏自动折叠页码。

Try resizing the window width (< 640px)
Example

主题定制

BrPagination 组件的颜色(主色调、激活色)、圆角和尺寸完全基于 BrConfigProvider 提供的 CSS 变量实现。

Example

你也可以通过 TailwindCSS 局部覆盖:

vue
<BrPaginationLink class="rounded-full border-blue-500 text-blue-500" />

API

BrPagination

属性类型默认值说明
totalnumber-数据总数
page (v-model)number1当前页码
itemsPerPagenumber10每页显示条数
siblingCountnumber1当前页左右两侧显示的页码数量
showEdgesbooleanfalse是否始终显示首尾页码
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl''md'分页按钮尺寸,会覆盖全局配置
属性类型默认值说明
valuenumber-对应页码的值
isActivebooleanfalse是否为激活状态
disabledbooleanfalse是否禁用
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'-尺寸大小

其他子组件

BrPaginationPreviousBrPaginationNextBrPaginationFirstBrPaginationLast 等均支持传递 class 以通过 TailwindCSS 进行样式覆盖。