Skip to content

Pagination 分页

基于 Element Plus Pagination 封装,简化分页参数绑定。

基础用法

vue
<template>
  <el-table :data="tableData">
    <!-- 表格列 -->
  </el-table>

  <Pagination
    v-model:page="queryParams.pageNum"
    v-model:limit="queryParams.pageSize"
    :total="total"
    @pagination="handlePagination"
  />
</template>

<script setup lang="ts">
const queryParams = reactive({
  pageNum: 1,
  pageSize: 10
})
const total = ref(0)
const tableData = ref([])

function handlePagination() {
  fetchData()
}

async function fetchData() {
  const res = await UserAPI.getPage(queryParams)
  tableData.value = res.list
  total.value = res.total
}
</script>

Props

参数说明类型默认值
page当前页码(v-modelnumber1
limit每页条数(v-modelnumber10
total总条数number0
pageSizes每页条数选项number[][10, 20, 30, 50]
layout组件布局string'total, sizes, prev, pager, next, jumper'
background是否显示背景色booleantrue
autoScroll分页后是否自动滚动到顶部booleantrue
hidden只有一页时是否隐藏booleanfalse

Events

事件名说明回调参数
pagination页码或每页条数变化时触发{ page: number, limit: number }

基于 MIT 许可发布 · 如需部署协助或二开定制,请查看 支持与合作