vue前端分页

vue-easytable 后端一次性将数据返回来,前端实现分页。当然后端分页做起来容易,同事客户体验更加佳。前端分页一次性拿到所有数据,要根据 pageIndex和 pageSize以及 total通过前端计算来决定每一页展示哪些数据

         <div class="mt20 mb20 bold" style="margin-top:10px;">
             <v-pagination @page-change="pageChange" @page-size-change="pageSizeChange" :total="total" size='small' :page-size="pageSize" :layout="['prev', 'pager', 'next']"></v-pagination>
         </div>

export default{
	data(){
		return{
            list: null,			//table当前展示的数据
            total:0,			//总条数
            pageIndex: 1,		//当前页数
            pageSize: 10,		//一页展示10条
            tableData: [],		//一次性请求的所有数据	
		}
	},
	methods: {
         pageChange:(pageIndex) {
             var _this = this;
             if (_this.tableData) {
                 if (pageIndex) {
                     _this.pageIndex = pageIndex;
                 }
                 _this.list = _this.tableData.slice(
                   (_this.pageIndex - 1) * _this.pageSize,
                   _this.pageIndex * _this.pageSize
                 );
                 console.log(_this.list);
             } else {}
         },
        getTableData(){
        	_this.$http.post('/api/task/GetOfficialTaskListByCondition',params)
		    .then(res =>{
			 // 请求接口成功之后,获取列表所有数据
	             _this.tableData = res.data.result;
	             _this.total = res.data.result.length;
	             _this.list = _this.tableData.slice(
	                   (_this.pageIndex - 1) * _this.pageSize,
	                    _this.pageIndex * _this.pageSize
	             );	
			})
		    .catch(error =>{})	             	  
		} 	
	}
}

效果图:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值