当前位置:首页 > VUE

elementui vue 实现表格分页

2026-01-22 05:38:46VUE

实现表格分页的基本步骤

安装 Element UI 并引入分页组件和表格组件。在 Vue 项目中,通过 el-tableel-pagination 组件实现分页功能。

import { ElTable, ElPagination } from 'element-ui';
Vue.use(ElTable);
Vue.use(ElPagination);

数据绑定与分页逻辑

定义表格数据和分页相关参数。通过 current-pagepage-size 控制当前页码和每页显示条数。

data() {
  return {
    tableData: [], // 表格数据
    currentPage: 1, // 当前页码
    pageSize: 10,   // 每页显示条数
    total: 0        // 总数据量
  };
}

分页请求数据

mounted 钩子中调用数据获取方法,并在方法中处理分页逻辑。通常需要根据当前页码和每页条数从后端获取数据。

methods: {
  fetchData() {
    const params = {
      page: this.currentPage,
      size: this.pageSize
    };
    // 模拟 API 请求
    getTableData(params).then(res => {
      this.tableData = res.data.list;
      this.total = res.data.total;
    });
  }
},
mounted() {
  this.fetchData();
}

分页事件处理

监听分页组件的 current-changesize-change 事件,在页码或每页条数变化时重新获取数据。

handleCurrentChange(val) {
  this.currentPage = val;
  this.fetchData();
},
handleSizeChange(val) {
  this.pageSize = val;
  this.fetchData();
}

完整模板示例

将分页组件和表格组件结合,绑定事件和数据。

<template>
  <div>
    <el-table :data="tableData" border>
      <el-table-column prop="date" label="日期"></el-table-column>
      <el-table-column prop="name" label="姓名"></el-table-column>
    </el-table>
    <el-pagination
      @current-change="handleCurrentChange"
      @size-change="handleSizeChange"
      :current-page="currentPage"
      :page-sizes="[10, 20, 30, 50]"
      :page-size="pageSize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total">
    </el-pagination>
  </div>
</template>

后端接口模拟

如果后端接口尚未准备好,可以使用模拟数据测试分页功能。

function getTableData(params) {
  const mockData = [];
  for (let i = 1; i <= 100; i++) {
    mockData.push({
      date: `2023-01-${i < 10 ? '0' + i : i}`,
      name: `用户${i}`
    });
  }
  const { page, size } = params;
  const start = (page - 1) * size;
  const end = start + size;
  return Promise.resolve({
    data: {
      list: mockData.slice(start, end),
      total: mockData.length
    }
  });
}

样式调整

根据需要调整分页组件的样式,例如居中显示或固定位置。

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

通过以上步骤,可以快速实现 Element UI 表格的分页功能。实际项目中,需根据后端接口和数据格式调整请求参数和数据处理逻辑。

elementui vue 实现表格分页

标签: 分页表格
分享给朋友:

相关文章

vue分页实现

vue分页实现

实现Vue分页的几种方法 使用Element UI的分页组件 安装Element UI库后,可以直接使用其分页组件。以下是一个基本示例: <template> <div>…

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table…

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table>…

vue实现简单表格

vue实现简单表格

Vue 实现简单表格的方法 使用原生 HTML 表格 在 Vue 模板中可以直接使用 HTML 原生表格标签,通过 v-for 动态渲染数据: <template> <tabl…

用css制作表格

用css制作表格

使用CSS制作表格 CSS可以用来样式化HTML表格,使其更具视觉吸引力和功能性。以下是几种常见的方法: 基础表格样式 通过CSS可以调整表格的边框、间距和颜色: <table>…

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <th…