Skip to content

Pagination

新粗野主义风格的分页组件,内置计算分页算法,支持兄弟页数和首页/末页导航。

预览

安装

pnpm dlx brutx@latest add pagination

用法

vue
<script setup>
import { ref } from 'vue'
import Pagination from '@/components/ui/Pagination.vue'

const currentPage = ref(1)
const totalPages = 10
</script>

<template>
    <Pagination
        v-model:current-page="currentPage"
        :total-pages="totalPages"
    />
</template>

变体

变体说明
default标准按钮
rounded按钮使用 --brutal-radius 圆角
minimal按钮无边框和阴影

尺寸

尺寸按钮高度间距
smh-8gap-1
defaulth-10gap-2
lgh-12gap-3

带完整选项

vue
<script setup>
import { ref } from 'vue'
import Pagination from '@/components/ui/Pagination.vue'

const currentPage = ref(1)
</script>

<template>
    <Pagination
        v-model:current-page="currentPage"
        :total-pages="50"
        :sibling-count="2"
        :show-first-last="true"
        :show-page-numbers="true"
        variant="default"
        size="default"
    />
</template>

不显示页码

vue
<script setup>
import { ref } from 'vue'
import Pagination from '@/components/ui/Pagination.vue'

const currentPage = ref(1)
</script>

<template>
    <Pagination
        v-model:current-page="currentPage"
        :total-pages="10"
        :show-page-numbers="false"
    />
</template>

Props

属性类型默认值
currentPagenumber—(必填)
totalPagesnumber—(必填)
siblingCountnumber1
showFirstLastbooleantrue
showPageNumbersbooleantrue
variant'default' | 'rounded' | 'minimal''default'
size'sm' | 'default' | 'lg''default'
classstring

事件

事件载荷
update:currentPagenumber