当前位置:首页 > 前端教程

elementui分页

2026-03-06 04:23:25前端教程

使用 ElementUI 分页组件

ElementUI 提供了 el-pagination 组件,用于实现分页功能。以下是基本用法和常见配置。

基本用法

在模板中添加 el-pagination 组件:

<el-pagination
  :current-page="currentPage"
  :page-size="pageSize"
  :total="total"
  @current-change="handleCurrentChange"
  layout="prev, pager, next">
</el-pagination>

在脚本中定义数据和事件处理:

elementui分页

export default {
  data() {
    return {
      currentPage: 1,
      pageSize: 10,
      total: 100
    }
  },
  methods: {
    handleCurrentChange(val) {
      this.currentPage = val;
      this.fetchData();
    },
    fetchData() {
      // 根据 currentPage 和 pageSize 获取数据
    }
  }
}

分页布局配置

通过 layout 属性可以自定义分页布局,支持以下选项:

  • prev:上一页按钮
  • next:下一页按钮
  • pager:页码列表
  • jumper:跳转输入框
  • total:总条数显示
  • sizes:每页条数选择器

示例:

elementui分页

<el-pagination
  :current-page="currentPage"
  :page-size="pageSize"
  :total="total"
  @current-change="handleCurrentChange"
  @size-change="handleSizeChange"
  layout="total, sizes, prev, pager, next, jumper">
</el-pagination>

分页事件处理

  • current-change:当前页改变时触发
  • size-change:每页条数改变时触发
  • prev-click:点击上一页按钮时触发
  • next-click:点击下一页按钮时触发
methods: {
  handleCurrentChange(val) {
    this.currentPage = val;
    this.fetchData();
  },
  handleSizeChange(val) {
    this.pageSize = val;
    this.fetchData();
  }
}

远程分页

通常需要结合后端接口实现远程分页:

fetchData() {
  api.getList({
    page: this.currentPage,
    size: this.pageSize
  }).then(res => {
    this.data = res.data;
    this.total = res.total;
  });
}

样式自定义

可以通过 CSS 覆盖默认样式:

.el-pagination {
  margin-top: 20px;
  text-align: center;
}

完整示例

<template>
  <div>
    <el-table :data="tableData">
      <!-- 表格内容 -->
    </el-table>
    <el-pagination
      :current-page="currentPage"
      :page-size="pageSize"
      :total="total"
      @current-change="handleCurrentChange"
      @size-change="handleSizeChange"
      layout="total, sizes, prev, pager, next, jumper"
      :page-sizes="[10, 20, 50, 100]">
    </el-pagination>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [],
      currentPage: 1,
      pageSize: 10,
      total: 0
    }
  },
  created() {
    this.fetchData();
  },
  methods: {
    fetchData() {
      api.getList({
        page: this.currentPage,
        size: this.pageSize
      }).then(res => {
        this.tableData = res.data;
        this.total = res.total;
      });
    },
    handleCurrentChange(val) {
      this.currentPage = val;
      this.fetchData();
    },
    handleSizeChange(val) {
      this.pageSize = val;
      this.fetchData();
    }
  }
}
</script>

标签: 分页elementui
分享给朋友:

相关文章

vue 分页 实现

vue 分页 实现

Vue 分页实现方法 使用第三方库(如 Element UI) Element UI 提供了现成的分页组件 el-pagination,适合快速集成。 安装 Element UI: npm i…

vue实现后台分页

vue实现后台分页

实现后台分页的方法 在Vue中实现后台分页通常需要结合前端和后端逻辑,后端负责处理数据分页,前端负责展示分页数据和交互。以下是具体实现方法: 后端API设计 后端需要提供支持分页的API接口,通常包…

vue实现分页

vue实现分页

Vue 实现分页的方法 使用 Element UI 的分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成到 Vue 项目中。 安装 Element UI…

vue组件传值实现分页

vue组件传值实现分页

Vue组件传值实现分页的方法 在Vue中实现分页功能,通常需要父子组件之间的数据传递。以下是几种常见的传值方式: 使用props传递数据 父组件通过props向子组件传递当前页码和总页数等分页信息…

elementui table

elementui table

ElementUI Table 基本用法 ElementUI 的 Table 组件用于展示结构化数据,支持排序、筛选、分页等功能。以下是一个基础示例: <template> &l…

删除elementui

删除elementui

要删除 ElementUI(一个基于 Vue.js 的组件库),可以按照以下方法操作: 卸载 ElementUI 依赖 通过 npm 或 yarn 移除 ElementUI 的依赖包。在项目根目录下…