vue实现简单的分页功能
更新时间:2022年03月04日 10:28:23 作者:HLC!
这篇文章主要为大家详细介绍了vue实现简单的分页功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
前端Vue实现分页功能,供大家参考,具体内容如下
我们都知道在spring boot项目中安装pagehelper可以实现分页功能,但是在vue中也能在前端实现分页。
1、首先,在data中定义以下变量:
data() { return { list: null, listLoading: true, totalPage: 1, // 统共页数,默认为1 currentPage: 1, //当前页数 ,默认为1 pageSize: 5, // 每页显示数量 currentPageData: [], //当前页显示内容 headPage: 1 } },
2、发送请求,获取后端数据(list集合)
axios.get('http://192.168.56.1:8081/sel/'+id).then((res) =>{ console.log(res.data.data ) that.list = res.data.data that.listLoading = false
3、根据返回数据list的length来计算data中变量的值:
this.totalPage=Math.ceil(this.list.length / this.pageSize); this.totalPage = this.totalPage == 0 ? 1 : this.totalPage; this.getCurrentPageData();
4、调用getCurrentPageData()方法设置当前页面的数据
getCurrentPageData() { let begin = (this.currentPage - 1) * this.pageSize; let end = this.currentPage * this.pageSize; this.currentPageData = this.list.slice( begin, end ); },
5、添加按钮并实现首页、尾页、上一页、下一页功能:
<input type="button" value="首页" @click="firstPage"> <input type="button" value="上一页" @click="prevPage"> <input type="button" value="下一页" @click="nextPage"> <input type="button" value="尾页" @click="lastPage">
//上一页 prevPage() { if (this.currentPage == 1) { return false; } else { this.currentPage--; this.getCurrentPageData(); } }, // 下一页 nextPage() { if (this.currentPage == this.totalPage) { return false; } else { this.currentPage++; this.getCurrentPageData(); } }, //尾页 lastPage() { if (this.currentPage == this.totalPage) { return false; } else { this.currentPage=this.totalPage; this.getCurrentPageData(); } } , //首页 firstPage(){ this.currentPage= this.headPage; this.getCurrentPageData(); }
注意!
最后需要修改组件中的data
前端展示:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
vue恢复初始数据this.$data,this.$options.data()解析
这篇文章主要介绍了vue恢复初始数据this.$data,this.$options.data()解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03elementui中tabel组件的scope.$index的使用及说明
这篇文章主要介绍了elementui中tabel组件的scope.$index的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-10-10
最新评论