在做管理系统的过程中,想必大家都接触过表格的增删改查吧,最近我在项目中发现,对于表格删除和批量删除时,有个细节项目组的前端开发并没有注意到,显然也没有去处理,测试人员居然也没去测试这个场景。

当我们表格切换页码至最后一页时,有两种场景。1、只有一条数据时,点击表格中删除按钮或者全选点击批量删除,2、多条数据全选点击批量删除。删除的时候我们需要对当前页码进行一个处理,要不然会显示异常。如下图

场景一:只有一条数据时,点击表格中删除按钮或者全选点击批量删除

删除之后

场景二:多条数据全选点击批量删除

删除之后

这样的显示效果显然是不正确的,因此我们必须要做一些处理,处理的代码(axios未做封装,数据key: "value", token: "XXX",url = "url"都是代指,代码与实际项目中项目做了一些调整,相信大家能看明白)如下:

data中的部分定义:

totalCount: 0, //总条目数
currentPageIndex: 1, //当前页码
pageSizeNum: 10, //每页显示的条目数
selectArr: [],//批量删除选择的数据复制代码

methods中的部分代码:

    /**     *删除数据API,批量删除时,key为字符串以','拼接     * @param {String} paramData:删除的数据     * @param {String} delFlag:"volumeDelete"表示批量删除,可选参数     */deleteTableItem(paramData, delFlag) {     let url = "url";      let data = {        key: "value"     };      let param = {        data: data,        token: "XXX"      };      axios.post(url, param).then(res => {        if (res.data.code == 200) {          if (    this.totalCount - (this.currentPageIndex - 1) * this.pageSizeNum ==              1 || //最后一页,只有一条数据时,点击表格中删除按钮            (delFlag == "volumeDelete" &&              this.totalCount -                (this.currentPageIndex - 1) * this.pageSizeNum ==                this.selectArr.length) //最后一页,点击批量删除按钮时          ) {            //处理页码显示问题            this.currentPageIndex =              this.currentPageIndex == 1                ? this.currentPageIndex                : this.currentPageIndex - 1;          }          this.queryTableData();        }      });    },/**     *查询数据API     */    queryTableData() {      let url = "url";      let data = {        key: "value"      };      let page = {        index: currentPageIndex, //当前页码        pageSize: pageSizeNum //每页显示的条目数     };      let param = {        data: data,        page: page,        token: "XXX"      };      axios.post(url, param).then(res => {        if (res.data.code == 200 && res.data.data) {          this.tableData = JSON.parse(JSON.stringify(res.data.data)); //获取表格数据          this.totalCount = res.data.totalCount; //获取总条目数          this.selectArr = []; //清空批量删除选择的数据        }      });    }
复制代码

在删除接口中对当前页码进行了处理,在查询数据的接口中获取总条目数,并且清空批量删除选择的数据。

再次说明,此代码只是为了展示,并非实际项目中的代码,因此未对axios做封装,数据key: "value", token: "XXX",url = "url"都是代指。

转载于:https://juejin.im/post/5c2b483d51882575f56054f8

vue项目中表格删除数据页码显示注意点相关推荐

  1. 在vue项目中实现 将数据导入Excel 三种方式(.xlsx , .csv)

    方法一 Vue 将页面中表格数据导出excel 一.需要安装三个依赖: npm install -S file-saver xlsxnpm install -D script-loader 二.项目中 ...

  2. vue项目中常用的优秀插件库

    1. vue的ui框架: pc端UI框架:iview,element-ui 移动端UI框架:参考https://www.jianshu.com/p/c3c671787d1d 2. vue的数字动画插件 ...

  3. VUE项目中如何实现表格数据的懒加载

    vue+elementUI table表格展示数据,当数据很多的时候,不能一页显示完,同时一次请求数据量太大,会增加网页渲染的时间,影响体验, 这个时候常常有两种方法处理, 1.分页处理 如果不想分页 ...

  4. vue项目中实现下载后端返回的excel数据表格

    查看更多资源 1. 案例简介: vue项目中,客户端需要实现以excel表格形式下载数据,后端为java,接受请求 >> 读取数据库 >> 生成excel >> 返 ...

  5. Vue项目中指定区域的表格数据导出为Excel文件

    vue项目中导出excel时有是会需要指定导出的区域如下图 操作部分我们不需要导出只导出表格部分 简记录下实现过程赋代码 一. 安装三个依赖项 npm install -S file-saver np ...

  6. vue之猫眼json数据的获取直接用于自己的vue项目中,swiper轮播插件的坑

    vue之猫眼json数据的获取直接用于自己的vue项目中 遇到问题总结: 加载不出猫眼数据,无法调用,数据被限制 猫眼电影图片的拼接及删除问题 swiper的迷幻坑** 首先来说一下第一问题 加载不出 ...

  7. Vue项目中获取数据后使用swiper轮播,无法轮播且 autoplay 和 loop 失效问题!

    Vue项目中获取数据后使用swiper轮播,无法轮播且 autoplay 和 loop 失效问题! 问题表现:轮播组件显示第一张图,可拖动但无法切换到下一张图.但是F12控制台切换屏幕后能正常轮播但无 ...

  8. vue项目中table表格固定表头和首尾列

    在html中实现table表格固定表头和首尾列的方法和文章很多,本文就不再赘述. 本文主要介绍vue项目中三种情景下实现table表格固定表头和首尾列 情景一:vue+element 只要在el-ta ...

  9. 【VUE 项目中使用luckysheet(在线表格)】

    VUE 项目中使用luckysheet 描述 资料 本地引入 组件开发 创建组件 组件使用 使用中遇到的问题 1. 后台图表chartMix报undefined 2. 回显时默认显示第一个sheet ...

最新文章

  1. 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
  2. Js中的style,currentStyle,getComputedStyle()区别
  3. nginx 学习笔记(5) nginx调试日志
  4. 从美图、4399生根,到趣店、瑞幸落户,厦门离中国的西雅图还有多远?
  5. threadpooltaskexecutor线程池使用_(四)为什么要使用线程池
  6. HDU 4109 Instrction Arrangement
  7. js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南
  8. Python机器学习:多项式回归002scikit中的多项式回归与pipeline(管道)
  9. 问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
  10. 30.Linux/Unix 系统编程手册(上) -- 线程:线程同步
  11. ubuntu下tftp服务器环境搭建
  12. PyCharm:Error running xxx: Cannot run program D:\Python27\python.exe
  13. 谭浩强 C程序设计(第五版)
  14. Linux程序设计-1-Linux基础
  15. 2019年网络安全灾难事件,5大勒索病毒软件
  16. 微信小程序分享至朋友圈
  17. 计算机为动态分区无法安装系统,磁盘动态分区形式的电脑怎么重装系统win10
  18. 没有项目管理经验,可以参加PMP考试?
  19. php,ajax -->Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>)
  20. 下载deb及其依赖软件包,离线安装deb软件包

热门文章

  1. 安装Aptos CLI 并 部署move智能合约
  2. Windows系统下载SRA数据,使用sratoolkit工具
  3. python里感叹号是什么意思_感叹号!代表什么意思?(标点符号的用法之感叹号)...
  4. Chrome插件实现GitHub代码离线翻译v0.0.4 2018-10-19
  5. 小程序获取本地存储数据,然后传参的时候是上次请求的id
  6. 洛伦兹力的matlab求解,问:由安培力推导洛伦兹力的过程?
  7. 开局签到满级剑术天赋(三)
  8. java定义一个方法计算三角形,长方形,圆形面积和周长
  9. leetcode2187. 完成旅途的最少时间(mid)(282)
  10. 将网站、网页变成灰白色调的哀悼风格界面的CSS代码