<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