vue.js中怎么实现分页显示

JavaScript061

vue.js中怎么实现分页显示,第1张

<vuetable listdata="{{datalist}}" clickcallback="{{callback}}"></vuetable>

<pages pages="{{@ pages}}" clickhandle="{{search}}"></pages>

其中vuetable组件负责数据展示功能,里面内容暂且不表,pages组件实现分页功能,如下:

<div>

<ul>

<li v-on="click:leftclick" v-show="leftbtn"><a>《</a></li>

<li class="pageindex" v-repeat="showlength" v-on="click:clickhandle(currentIndex+$index,$event)"><a>{{currentIndex+$index}}</a></li>

<li v-on="click:rightclick" v-show="rightbtn"><a></a></li>

</ul>

</div>

class为pageindex的 li 的点击事件里面将 要显示的index 传给 props传递过来的 clickhandle,

clickhandle会根据index,返回后更新 datalist,完成分页功能。

1.首先写好分页  页码

2.定义好,所有数据数组,总条数,每页数量,当前页

3.根据后台数据的长度 确定好表格总条数

4.在computer中,定义好每页的开始位置    就是beginIndex。0,10,20这样自带的

然后计算每页的数据的数量,把原来的后台的数据进行浅拷贝,进行截取,就形成了每页的数据,并自动去渲染每页,

5数据表格中的数据就不是,,  this.rightsList = res.data.data这个了,,而是。。currentList,

6.就是页码改变,每页数量改变的方法了

最后就OK了

我们在手机端加载数据时,一般需要请求历史数据时,需要进行分页,因为手机运行需要快,所以不做一下子加载太多条的数据

这里我们用的是vue-infinite-loading这个插件来实现

npm install vue-infinite-loading --save 或者

yarn add vue-infinite-loading

注意,你的数据显示内容区需要设置CSS