vue 翻页每次从1开始_element表格翻页第2页从1开始编号(后端从0开始分页)

项目中常见的分页显示,第二页从1开始编号,然后在切换分页的过程中,偶现不对,都是小问题,整理记录一下,供参考。

template:

...

type="index"

label="编号"

:index="getIndex"

width="80px">

...

:total="total"

:pageSize="pageSize"

:currentPage="currentPage"

@sizeChange="sizeChange"

@currentChange="currentChange">

script:

getIndex (index) {

if (this.currentPage==0){

return (this.currentPage) * this.pageSize + index + 1

} else{

return (this.currentPage-1) * this.pageSize + index + 1

}

},

由于后端第一页是从0开始的,而前端是从第一页开始,所以需要在当前页减1。关于分页,本页条数

sizeChange(val){

let that = this;

that.currentPage = 1;

that.pageSize = val;

that.getPageInfo(that.currentPage, val);

},

跳转页面

currentChange(val){

let that = this;

that.currentPage = val;

that.getPageInfo(val, that.pageSize);

},

页面加载数据

getUserList(currentPage, pageSize){

let that = this;

that.$axios({

method: 'get',

url: '***',

params: {

currentPage: (currentPage || that.currentPage || 1)-1,

pageSize: pageSize || that.pageSize || 10

},

needInterceptors: true,

showError: true,

loader: true

}).then(function(result){

let data = result && result.data || [];

let page = result && result.pageCont || {};

that.total = page.totalItems || 0;

that.tableData = data;

})

},

试了几次,这样写应该是没有问题的,也解决了后端传0开始的问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue3 中,你可以使用一个自定义的计算属性来实现前端分页。具体步骤如下: 1. 在你的组件中定义一个变量 `currentPage` 用来记录当前码,以及 `pageSize` 用来记录每页展示的数据条数。 2. 在 `mounted` 钩子函数中,使用 `axios` 或者其他方式从后端获取数据,并将数据存储在一个变量中,比如 `listData`。 3. 定义一个计算属性 `pagedList`,该属性会根据当前码和每页展示的数据条数对 `listData` 进行分页,返回当前需要展示的数据。 ```javascript computed: { pagedList() { const start = (this.currentPage - 1) * this.pageSize; const end = start + this.pageSize; return this.listData.slice(start, end); } } ``` 4. 在组件中使用 `pagedList` 来展示当前的数据,同时使用 `v-for` 循环展示码,以便用户进行翻页操作。 ```html <ul> <li v-for="page in pageCount" :key="page"> <a @click="currentPage = page">{{ page }}</a> </li> </ul> <table> <tr v-for="item in pagedList" :key="item.id"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> </tr> </table> ``` 其中,`pageCount` 是一个计算属性,用来计算总共需要展示多少。 ```javascript computed: { pageCount() { return Math.ceil(this.listData.length / this.pageSize); } } ``` 以上就是在 Vue3 中实现前端分页的基本步骤。注意,该方式只是将后端返回的所有数据进行了分页展示,而并没有在后端进行分页处理。如果需要在后端进行分页处理,可以在请求后端数据时添加相应的参数来指定需要获取的码、每页数据条数等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值