vue项目中表格删除数据页码显示注意点
在做管理系统的过程中,想必大家都接触过表格的增删改查吧,最近我在项目中发现,对于表格删除和批量删除时,有个细节项目组的前端开发并没有注意到,显然也没有去处理,测试人员居然也没去测试这个场景。
当我们表格切换页码至最后一页时,有两种场景。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项目中表格删除数据页码显示注意点相关推荐
- 在vue项目中实现 将数据导入Excel 三种方式(.xlsx , .csv)
方法一 Vue 将页面中表格数据导出excel 一.需要安装三个依赖: npm install -S file-saver xlsxnpm install -D script-loader 二.项目中 ...
- vue项目中常用的优秀插件库
1. vue的ui框架: pc端UI框架:iview,element-ui 移动端UI框架:参考https://www.jianshu.com/p/c3c671787d1d 2. vue的数字动画插件 ...
- VUE项目中如何实现表格数据的懒加载
vue+elementUI table表格展示数据,当数据很多的时候,不能一页显示完,同时一次请求数据量太大,会增加网页渲染的时间,影响体验, 这个时候常常有两种方法处理, 1.分页处理 如果不想分页 ...
- vue项目中实现下载后端返回的excel数据表格
查看更多资源 1. 案例简介: vue项目中,客户端需要实现以excel表格形式下载数据,后端为java,接受请求 >> 读取数据库 >> 生成excel >> 返 ...
- Vue项目中指定区域的表格数据导出为Excel文件
vue项目中导出excel时有是会需要指定导出的区域如下图 操作部分我们不需要导出只导出表格部分 简记录下实现过程赋代码 一. 安装三个依赖项 npm install -S file-saver np ...
- vue之猫眼json数据的获取直接用于自己的vue项目中,swiper轮播插件的坑
vue之猫眼json数据的获取直接用于自己的vue项目中 遇到问题总结: 加载不出猫眼数据,无法调用,数据被限制 猫眼电影图片的拼接及删除问题 swiper的迷幻坑** 首先来说一下第一问题 加载不出 ...
- Vue项目中获取数据后使用swiper轮播,无法轮播且 autoplay 和 loop 失效问题!
Vue项目中获取数据后使用swiper轮播,无法轮播且 autoplay 和 loop 失效问题! 问题表现:轮播组件显示第一张图,可拖动但无法切换到下一张图.但是F12控制台切换屏幕后能正常轮播但无 ...
- vue项目中table表格固定表头和首尾列
在html中实现table表格固定表头和首尾列的方法和文章很多,本文就不再赘述. 本文主要介绍vue项目中三种情景下实现table表格固定表头和首尾列 情景一:vue+element 只要在el-ta ...
- 【VUE 项目中使用luckysheet(在线表格)】
VUE 项目中使用luckysheet 描述 资料 本地引入 组件开发 创建组件 组件使用 使用中遇到的问题 1. 后台图表chartMix报undefined 2. 回显时默认显示第一个sheet ...
最新文章
- 困扰多日的C#调用Haskell问题竟然是Windows的一个坑
- Js中的style,currentStyle,getComputedStyle()区别
- nginx 学习笔记(5) nginx调试日志
- 从美图、4399生根,到趣店、瑞幸落户,厦门离中国的西雅图还有多远?
- threadpooltaskexecutor线程池使用_(四)为什么要使用线程池
- HDU 4109 Instrction Arrangement
- js执行环境作用域和闭包_JavaScript中执行上下文,提升,作用域和闭包的终极指南
- Python机器学习:多项式回归002scikit中的多项式回归与pipeline(管道)
- 问题:使用pandas中的DataFrame写入csv文件多出一行unnamed,如何解决呢??
- 30.Linux/Unix 系统编程手册(上) -- 线程:线程同步
- ubuntu下tftp服务器环境搭建
- PyCharm:Error running xxx: Cannot run program D:\Python27\python.exe
- 谭浩强 C程序设计(第五版)
- Linux程序设计-1-Linux基础
- 2019年网络安全灾难事件,5大勒索病毒软件
- 微信小程序分享至朋友圈
- 计算机为动态分区无法安装系统,磁盘动态分区形式的电脑怎么重装系统win10
- 没有项目管理经验,可以参加PMP考试?
- php,ajax -->Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>)
- 下载deb及其依赖软件包,离线安装deb软件包
热门文章
- 安装Aptos CLI 并 部署move智能合约
- Windows系统下载SRA数据,使用sratoolkit工具
- python里感叹号是什么意思_感叹号!代表什么意思?(标点符号的用法之感叹号)...
- Chrome插件实现GitHub代码离线翻译v0.0.4 2018-10-19
- 小程序获取本地存储数据,然后传参的时候是上次请求的id
- 洛伦兹力的matlab求解,问:由安培力推导洛伦兹力的过程?
- 开局签到满级剑术天赋(三)
- java定义一个方法计算三角形,长方形,圆形面积和周长
- leetcode2187. 完成旅途的最少时间(mid)(282)
- 将网站、网页变成灰白色调的哀悼风格界面的CSS代码