最近在一直在做关于表格页面,遇到了一个小问题,“table列表删除当前页的数据显示前一页”,鉴于它有多种可能性,记录一下。
第一种
这种方法是最常见也是最简单的只需要在删除成功的回调里面写一下的方法就可以了
if (this.total % this.pageSize === 1) { // 表格总数量 % 行数 余出的就是当前页有几个 const lastPage = (this.total + this.pageSize - 1) / this.pageSize // (表格总数量 +行数 -1) / 行数
if (this.currentPage === lastPage) { // 当前页 === (表格总数量 +行数 -1) / 行数 this.currentPage = this.currentPage - 1 // 减去一页就是前一页
}
}
第二种
一个是点击全部的,一个点击是单选的,在这两个事件中分别触发不一样的判断
// 在点击全部复选框时
if (this.currentPage !== 1) {
this.currentPage = this.currentPage - 1
}
// 点击单选复选框时
if (this.total % this.pageSize === 1) {
const lastPage = (this.total + this.pageSize - 1) / this.pageSize
if (this.currentPage === lastPage) {
this.currentPage = this.currentPage - 1
}
}
第三种
这种其实跟第二种相似但是又很不相似,他还多了一种选择多个在移除
// this.fundCodeSelectList 这个变量是个数组,里面放的是要移除的代码code
if (this.currentPage !== 1 && this.fundCodeSelectList.length == 1) { // 如果单选 执行
if (this.total % this.pageSize === 1) {
const lastPage = (this.total + this.pageSize - 1) / this.pageSize
if (this.currentPage === lastPage) {
this.currentPage = this.currentPage - 1
}
}
} else if (this.fundCodeSelectList.length > 1 && this.fundCodeSelectList.length < this.pageSize && this.fundCodeSelectList.length !== this.total % this.pageSize) {
this.fundCodeSelectList = [] this.getGetFundFollowList()
} else {
// 如果多选 执行
if (this.currentPage !== 1) {
this.currentPage = this.currentPage - 1
}
}
网友评论