问题形容

有这样一个业务场景:对于某个表格展现数据而言,这个表格的数据在30~60条之间,不会超过某个数量不会太多。
后端说:我一次性返回给你所有的数据,因为产品说必须要做分页,你就本人做分页吧,也不必传我分页参数了。行吧?
前端:行,那我拿到所有的数据,依据分页参数,本人做一个截取展现呗

效果图

效果图就是失常的分页成果

代码附上

演示的话,间接复制粘贴即可。正文中简述了,代码思路

<template>  <div class="box">    <el-table height="240" :data="showTableData" border style="width: 100%">      <el-table-column prop="name" label="姓名" width="180"></el-table-column>      <el-table-column prop="age" label="年龄" width="180"></el-table-column>      <el-table-column prop="home" label="他乡"></el-table-column>    </el-table>    <el-pagination      layout="total, sizes, prev, pager, next, jumper"      @size-change="handleSizeChange"      @current-change="handleCurrentChange"      :current-page="pageIndex"      :page-size="pageSize"      :page-sizes="[2, 4, 6, 10]"      :total="total"    >    </el-pagination>  </div></template><script>export default {  data() {    return {      pageIndex: 1, // 第几页      pageSize: 4, // 每页几条数据      total: 0, // 总条目数      allTableData: [], // 所有的数据      showTableData: [], // 以后展现的数据    };  },  mounted() {    setTimeout(() => {      // 1. 模仿发申请获取所有的数据      let apiAllTableData = [        {          name: "孙悟空",          age: 500,          home: "花果山水帘洞",        },        {          name: "猪八戒",          age: 88,          home: "高老庄",        },        {          name: "沙和尚",          age: 1000,          home: "通天河",        },        {          name: "唐僧",          age: 9999,          home: "东土大唐",        },        {          name: "白龙马",          age: 12,          home: "东海",        },        {          name: "观音菩萨",          age: 18,          home: "南海",        },        {          name: "玉皇大帝",          age: 123456789,          home: "凌霄宝殿",        },        {          name: "如来佛祖",          age: 9999999.999,          home: "迦毗罗卫国",        },      ];      // 2. 存一份所有的数据      this.allTableData = apiAllTableData;      // 3. 获取总条目数      this.total = this.allTableData.length;      // 4. 依据以后是第几页、每页展现几条,去截取须要展现的数据      this.getShowTableData();    }, 1000);  },  methods: {    getShowTableData() {      // 5. 获取截取开始索引      let begin = (this.pageIndex - 1) * this.pageSize;      // 6. 获取截取完结索引      let end = this.pageIndex * this.pageSize;      // 7. 通过索引去截取,从而展现      this.showTableData = this.allTableData.slice(begin, end);    },    // 8. 页数扭转,从新截取    handleCurrentChange(val) {      this.pageIndex = val;      this.getShowTableData();    },    // 9. 条目数扭转,也从新截取    handleSizeChange(val) {      this.pageIndex = 1;      this.pageSize = val;      this.getShowTableData();    },  },};</script>
其实对于某些数据量比拟少的表格展现业务场景,齐全能够不分页,或者由前端做截取分页。