element ui前端分页 与后端分页的问题

区别:

前端分页:一次性请求所有数据 然后前端对数据进行截取展示
后端分页:需要我们把页码 请求条数发送给后端 后端根据条件每次返回对应的条数

前端分页

    <el-table
      :data="tableDatas.slice((currentPage-1)*PageSize,currentPage*PageSize)"

      style="width: 100%">
      <el-table-column
        prop="date"
        label="日期"
        width="180">
    </el-table>
    <el-pagination @size-change="handleSizeChange"
                              @current-change="handleCurrentChange"
                              :current-page="currentPage"
                              :page-sizes="pageSizes"
                              :page-size="PageSize" layout="total, sizes, prev, pager, next, jumper"
                              :total="totalCount">
                 </el-pagination>
methods:{
 handleEdit(index, row) {
                  console.log(index, row);//这里可打印出每行的内容
                  //点击编辑
                  this.dialogFormVisible = true //显示弹框
                  this.editForm = Object.assign({}, row); // editForm是Dialog弹框的data
                  //显示编辑界面

              },
      handleDelete(index, row) {
        console.log(index, row);
      },
       handleSizeChange(val) {
                 // 改变每页显示的条数
                 this.PageSize=val
                 // 注意:在改变每页显示的条数时,要将页码显示到第一页
                 this.currentPage=1
             },
               // 显示第几页
             handleCurrentChange(val) {
                 // 改变默认的页数
                 this.currentPage=val
             },
    }
}

重点这句话

 :data="tableDatas.slice((currentPage-1)*PageSize,currentPage*PageSize)"

这个就是根据你的pageSzie 和currentPage来截取数据展示的

后端分页

 <el-table
             :data="tableData"
            ref="multipleTable"
            tooltip-effect="dark"
            style="width: 100%"
            @selection-change="handleSelectionChange">
            </el-table>
  <el-pagination @size-change="handleSizeChange"
                     @current-change="handleCurrentChange"
                     :current-page.sync="currentPage"
                     :page-sizes="pageSizes"
                     :page-size="PageSize" layout="total, sizes, prev, pager, next, jumper"
                     :total="totalCount"

              >
      </el-pagination>
 handleSizeChange(val) {
            // 改变每页显示的条数
            this.PageSize=val
            // 注意:在改变每页显示的条数时,要将页码显示到第一页
            this.getList() //pageSize改变是重新请求数据
            console.log(this.PageSize)
        },
  handleCurrentChange(val) {
            // 改变默认的页数
            this.currentPage=val
            // console.log(this.currentPage)
            this.$http.post('event.findAndCountAll.sys_enterprise',{
                where:{},
                page:{limit: this.PageSize,
                    page:this.currentPage}})
                .then((res) => {
                    // console.log(res.data)
                    // console.log(this.currentPage)

                    this.tableData=res.data
                    this.loading = false
                })
                .catch(() => { this.loading = false })
        },

注意 这个时候前端不需要做数据处理 我们只需要把pageSize和currentPage传给后端就可以了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值