Vue笔记-element ui中关于table的前端分页

对于 Element UI 表格的前端分页,可以在组件中使用 JavaScript 来实现数据的分页显示,而不必从后端获取已分页的数据。以下是一个简单的示例,演示如何在前端进行 Element UI 表格的分页:

javascript 复制代码
<template>
  <div>
    <el-table
      :data="getCurrentPageData"
      style="width: 100%">
      <el-table-column
        label="日期"
        prop="date">
      </el-table-column>
      <el-table-column
        label="姓名"
        prop="name">
      </el-table-column>
      <el-table-column
        label="地址"
        prop="address">
      </el-table-column>
    </el-table>
    <el-pagination
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-size="pageSize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="tableData.length">
    </el-pagination>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        tableData: [
          {
            date: '2016-05-02',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          },
          // more data...
        ],
        currentPage: 1,
        pageSize: 10,
      };
    },
    computed: {
      getCurrentPageData() {
        const start = (this.currentPage - 1) * this.pageSize;
        const end = start + this.pageSize;
        return this.tableData.slice(start, end);
      }
    },
    methods: {
      handleCurrentChange(val) {
        this.currentPage = val;
      }
    }
  };
</script>

在这个示例中,使用了computed属性getCurrentPageData来根据当前页和每页显示条数来计算当前页面应该显示的数据。在分页变化时,我们通过handleCurrentChange方法来更新当前页数。这种方式可以在前端进行数据的分页展示。

相关推荐
itmigrate9 小时前
前端项目里,Object.is 并不是 === 的平替
前端
小大宇10 小时前
Vue知识点6-computed计算属性
前端·javascript·vue.js
程序员海军10 小时前
尤雨溪 : Vue 4 已经在规划中了!
前端·javascript·vue.js
2601_9499706911 小时前
HumanizeDuration 跨端三方库仓颉适配全流程
前端·javascript·flutter
风骏时光牛马12 小时前
后端服务接口开发与性能优化
前端
kyriewen12 小时前
我让 4 个 AI 互相 review 代码,最温柔的那个下手最狠
前端·程序员·ai编程
计算机魔术师13 小时前
493家公司白砸AI钱?Apollo这组数据戳破了幻觉
前端
IT_陈寒13 小时前
Java静态变量初始化坑得我头皮发麻
前端·人工智能·后端
柳杉13 小时前
用 Codex 完成智慧高速 3D 可视化大屏,从 18 张行业设计稿到可交互的运行监测中心
前端·ai编程·数据可视化
review4454313 小时前
拿到 codex 第一步
前端·agent·vibecoding