当我们在删除最后一页的最后一条数据时,我们想要的效果是回到上一页,查询处上一页的数据显示出来,当前页码变成上一页,而真正删除的时候显示出来是个空的,而且页码也还在当前页

这时我们就需要去判断当前删除的是否为最后一页的最后一条数据,如果是,我们删除后要将当前页码-1再查询,这样页码回到了上一页,查询出来的也是上一页的数据了,话不多说下面爷直接上代码:

// template模板
<el-table-column label="操作"><template slot-scope="scope"><el-button type="danger" @click="del(scope.row.id)">删除</el-button></template>
</el-table-column>// 删除方法:
async del(id) {// 调用接口根据id删除await deleteLexiconClassification({ id });// 判断当前删除的是否为最后一页的最后一个记录// 遍历词库列表this.repositoryCategoryList.forEach((item, index) => {// 如果当前id是要删除的idif (item.id === id) {// 判断规则:(当前页码-1)*页容量+要被删除项的索引+1===总条数 && 判断被删项索引是否为0 && 当前不是第一页if ((this.currentPage - 1) * this.pageSize + index + 1 ===this.total &&index === 0 &&this.currentPage > 1) {// 如果是就将页码回到上一页this.currentPage--;}}});// 回显删除后的列表this.fetchRepositoryCategory();
}

这里顺带附上分页相关的公式,怕要用到时忘记怎么写:

1.判断当前是否为最后一页最后一个数据:

// 方法1(推荐):
// (页码-1)*页容量+当前操作的元素的索引+1 === 总条数(也就说明是最后一页中的记录) && 当前操作的元素的索引 === 0(也就说明是第一个记录)
if(this.currentPage - 1) * this.pageSize + index + 1 === this.total && index === 0){console.log(index,'是最后一页最后一个记录')
}// 方法2:
// 先算出总页数 = 向上取整(总记录数/页容量)
const totalPage = Math.ceil(this.total/this.pageSize)
// 当总页数 === 当前页码(也就是最后一页时) && 要操作的记录索引为0(也就是当前页的第一个的意思) && 当前页数据总条数===1(只有一个时)
if(totalPage === this.currentPage && index === 0 && this.list.length === 1){console.log(index,'是最后一页最后一个记录')
}

2.判断当前是否为最后一条数据:

// (页码-1)* 页容量 + 要操作的记录的索引 + 1 === 总条数
if(( this.currentPage - 1) * this.pageSize + index + 1 === this.total){console.log(index,'是最后一条记录');
}

相信有些小伙伴就有疑问了,为啥index要+1?因为索引比长度要小1,所以要判断数量是否等于总记录数就要+1来计算长度

基于Vue+element表格删除最后一页的最后一条数据后回显数据为空解决相关推荐

  1. vue element 表格增加删除修改数据

    这里用到是设置一个弹出框来实现此功能,还有一种方法是直接在原来的基础上面进行修改 效果如下: 表格的table: <el-table :data="tableData" st ...

  2. vue element table列表删除某一页的最后一条数据之后页面不自动跳到上一页

    项目场景:element 分页器 提示:这里简述项目相关背景: 例如:项目场景:删除某一页的最后一条数据之后页面不自动跳到上一页 解决方案: <!-- 分页组件 --><el-pag ...

  3. html全局布局 vue_基于Vue+Element的电商后台管理系统

    前言 mall项目后台管理系统的前端项目. 项目介绍 mall-admin-web是一个电商后台管理系统的前端项目,基于Vue+Element实现. 主要包括商品管理.订单管理.会员管理.促销管理.运 ...

  4. 基于vue(element ui) + ssm + shiro 的权限框架

    zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...

  5. 基于Vue+Element Plus实现快速导航

    文章目录 前言 一.分析 二.实现 三.实现效果图 总结 前言 快速导航对于前端开发的靓仔们应该是很熟悉了,他能快速的切换到之前打开的页面,是系统更加灵活方便.我这里采用的是Vue+Element p ...

  6. 基于vue element 封装上传组件

    基于vue element封装的上传组件 使用方法: 1.首先引入该组件 2.注册组件 3.页面使用 4.回调函数(如需其他回调自行封装 因为我暂时没用到其他的  哈哈哈) <template& ...

  7. vue element 表格错位

    vue element 表格发生错位对不齐的问题 在做vue element 表格的时候,页面展示上发现列表对不齐 <style scoped> /deep/ .el-table th.g ...

  8. RuoYi Vue - 若依框架的 Vue 版本,免费开源、生态强大、专业的 admin 后台管理系统,基于 Vue + Element

    有一段时间没有推荐 admin 框架了,若依这款后台框架很强大,提供了 vue 版本,很实用,推荐给大家. 关于若依 RuoYi 中文名称叫若依,名字十分二次元,是一个后台管理系统,后端基于经典技术组 ...

  9. vue element表格某一列内容过多,超出省略号显示

    vue element表格某一列内容过多,超出省略号显示 iview表格某一列内容过多,超出省略号显示

最新文章

  1. delphi与java 类型转换_java中的数据类型转换
  2. 再不参与就晚了!!2020年结束前最后一波内测福利!人人有份!
  3. 缓存穿透、缓存并发、热点缓存之最佳招式
  4. About JXTA message reliable design
  5. ue编辑器拖拽上传图片_Typora + PicGo打造超好用的Markdown编辑器
  6. SQL基础【六、and与or】
  7. Asianux Server 3.0安装截图
  8. 素数判断的java方法_java判断数字是否是素数的方法
  9. vue中简单的小插曲
  10. jdbc驱动程序类型_JDBC驱动程序类型
  11. 使用Adobe Acrobat为PDF文件添加图章(仅图片)
  12. Git - Merge: refusing to merge unrelated histories
  13. 计算机实验室安全员责任书,实验室人员安全责任书
  14. DSP28335 SPWM之Trip-Zone中断
  15. react-native 创建新的项目
  16. 人工智能辅助服装设计 | Mixlab论文带读
  17. python中print怎么用_python中print的使用方法
  18. ant design vue:upload打开选择文件弹框前弹出确认框
  19. 好用的CAD软件中如何绘制指北针?
  20. Warning:Configuration 'compile' is obsolete and has been replaced with 'implementation'. It will be

热门文章

  1. 简单爬虫+pyecharts分析前途无忧招聘职位数量
  2. 有线电视的波段和频道
  3. OpenCV-Python教程:直方图及其绘制(calcHist)
  4. 2D的RPG游戏人物角色移动代码(以egret游戏引擎、TypeScript语言为例)
  5. python日期转化成周数_python dataframe将周数转换为月
  6. 我的梦想是当一个计算机英语,我的梦想是当老师写一篇英语作文
  7. 《机器学习》Chapter 1 绪论——机器学习中的基本概念和术语
  8. Chart.js清空canvas画布 clearRect()等canvas方法擦除失败(附完整代码)
  9. 5年经验之谈:功能测试人员的未来在哪里?难道只是点点点?
  10. 【FPGA】Verilog:锁存器 Latch | RS Flip-Flop 与 D Flip-Flop 的实现