Skip to content

Pagination 分页

AuPagination 用于切换分段数据,支持页码折叠、每页条数、跳页与自定义布局。当前页和每页条数均可独立使用 v-model

基础用法

完整分页

布局中的箭头分隔符会把后续控件推到容器右侧。

当前显示第 41–60 条

vue
<template>
  <div class="pagination-demo">
    <AuPagination
      v-model:current-page="currentPage"
      v-model:page-size="pageSize"
      :total="237"
      :page-sizes="[10, 20, 50]"
      layout="total, sizes, ->, prev, pager, next, jumper"
    />
    <p>当前显示第 {{ startItem }}–{{ endItem }} 条</p>
  </div>
</template>
<script setup>
import { computed, ref } from 'vue';
import { AuPagination } from 'aurora-plus';
const currentPage = ref(3);
const pageSize = ref(20);
const startItem = computed(() => (currentPage.value - 1) * pageSize.value + 1);
const endItem = computed(() => Math.min(currentPage.value * pageSize.value, 237));
</script>
<style scoped>
.pagination-demo {
  display: grid;
  gap: 12px;
}
.pagination-demo p {
  margin: 0;
  color: var(--au-color-text-secondary);
  font-size: var(--au-font-size-small);
}
</style>

Attributes

属性说明类型默认值
currentPage / v-model:current-page当前页number1
pageSize / v-model:page-size每页条数number10
total总条数number0
pageCount直接指定总页数,优先于 totalnumber
pagerCount显示的页码数量,5–21 的奇数number7
layouttotal / sizes / prev / pager / next / jumper / slot / -> 的逗号分隔组合stringprev, pager, next
pageSizes每页条数选项number[][10, 20, 30, 40, 50, 100]
size尺寸small / default / largedefault
disabled / background禁用 / 为页码按钮添加表面booleanfalse
hideOnSinglePage只有一页时隐藏booleanfalse
prevText / nextText替代前后翻页图标的文字string''
totalFormatter总数文字格式化(total) => string
pageSizeFormatter每页条数文字格式化(size) => string
ariaLabel分页导航名称string分页导航

Events 与 Slots

事件包括 update:currentPageupdate:pageSizecurrent-change(page)size-change(size)change(page, size)prev-click(page)next-click(page)。插槽包括 prevnext,以及 layoutslot 时使用的默认插槽。

组件暴露 setCurrentPage(page)currentPagepageCount

Aurora Plus · Vue 3 Component Library