zhangax2008
管理员
管理员
  • UID1
  • 粉丝0
  • 关注0
  • 发帖数26
阅读:5091回复:3

vue+element-ui 实现分页(根据el-table内容变换的分页)

楼主#
更多 发布于:2020-12-01 14:14
设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示。prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumpertotalsize和特殊的布局符号->->后的元素会靠右显示,jumper表示跳页元素,total表示显示页码总数,size用于设置每页显示的页码数量。












<template>
  <div id="app">
    <el-table
    :data="tableData.slice((currentPage-1)*size,currentPage*size)"
    border
    style="width: 100%">
    <el-table-column
      prop="date"
      label="日期"
      width="180">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名"
      width="180">
    </el-table-column>
    <el-table-column
      prop="address"
      label="地址">
    </el-table-column>
  </el-table>
  <div class="block" style="margin-left:30%">
    <!-- <span class="demonstration">完整功能</span> -->
    <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[5, 10, 15, 20]"
      :page-size="size"
      layout="total, sizes, prev, pager, next, jumper"
      :total="tableData.length">
    </el-pagination>
  </div>
  </div>
</template>
zhangax2008
管理员
管理员
  • UID1
  • 粉丝0
  • 关注0
  • 发帖数26
沙发#
发布于:2020-12-01 14:15

<script>

export default {
  name: 'App',
  components: {
    //
  },
  data() {
      return {
        currentPage:1,
        size:5,
        tableData: [   // 若干条数据
          {
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        }, {
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        }
        ]
      }
    },
      methods: {
      handleSizeChange(val) {
        // console.log(`每页 ${val} 条`);
        this.size = val
      },
      handleCurrentChange(val) {
        // console.log(`当前页: ${val}`);
        this.currentPage = val
      }
    }
}
</script>
zhangax2008
管理员
管理员
  • UID1
  • 粉丝0
  • 关注0
  • 发帖数26
板凳#
发布于:2020-12-01 14:15
所有的事件处理element已经做好,只需要将各个数据放在正确的位置;

最后,最关键的代码,要让表格显示几条,怎么显示。

使用数组的slice方法,截取数组,每次点击下一页实现翻页效果。

tableData.slice((currentPage-1)*size,currentPage*size)
zhangax2008
管理员
管理员
  • UID1
  • 粉丝0
  • 关注0
  • 发帖数26
地板#
发布于:2020-12-01 14:15
游客


返回顶部