VueJS 前端实现分页功能

Posted Alex_Mercer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VueJS 前端实现分页功能相关的知识,希望对你有一定的参考价值。

参考链接

html数据说明

表格分页主要是 :data="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)"

  • slice 函数,可用于字符串或者数据(对象未试过)。使用方法:arrayObject.slice(start,end)。假设现在存在两个变量,str="asdzxc",arr=[1,2,3,4,5]
  • 个人理解:start参数为数组或者字符串的算起的位置。。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推,正常的从0开始。 end是数组或者字符串的下标,从1开始
  • str.slice(1) //sdzxc
  • str.slice(1,2) //s
  • arr.slice(1) //[2]
  • arr.slice(1,3) //[2,3]

那么上面的tableData.slice((currentPage-1)*pagesize,currentPage*pagesize) 就可以理解了
总数据.slice((初始页-1)每页显示的数据,初始页每页显示的数据) 也就是当前的页码,然后划分到多少条数据。

如何去更改页面的时候,页面跳转到指定页呢,这就是page-change中的事件了

<vxe-table border
               height="800"
                ref="xTable"
               :data="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)"
               @@cell-dblclick="rowDbClick">
 </vxe-table>

        <vxe-pager
          :current-page="currentPage"
          :page-size="pagesize"
          :total="tableData.length"
          :layouts="[\'PrevPage\', \'JumpNumber\', \'NextPage\', \'FullJump\', \'Sizes\', \'Total\']"
            :page-sizes="pagesizes"
          @@page-change="handleCurrentChange">
        </vxe-pager>

JS数据说明

data 响应式数据

 tableData: [],
 currentPage: 1, //初始页
                pagesize: 5000,    //    每页的数据 
                pagesizes: [10, 20, 50, 100, 5000],

methods 方法
在更改页码的适合,根据响应式的数据,去动态变化 页码

     //更改页码变更数据
                handleCurrentChange: function ({ currentPage, pageSize }) {
                    this.currentPage = currentPage;//当前页
                    this.pagesize = pageSize//每页显示的条数
                    //console.log(this.currentPage)  //点击第几页
                },

以上是关于VueJS 前端实现分页功能的主要内容,如果未能解决你的问题,请参考以下文章

使用bootstarp前端组件集成的table 分页组件 ;简单上手使用实现前端分页功能

关键词搜索&分页功能的前端代码(ajax + jQuery)

Django中使用JS通过DataTable实现表格前端分页,每页显示页数,搜索等功能

分页功能前后端代码实现

ThinkPHP高速实现数据分页(前端/后端分离)

ajax前端分页实现