IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue解决 element分页:删除最后一页的所有数据后(包括批量删除),刷新后数据表格为空。(前端、后端两种方法) -> 正文阅读

[JavaScript知识库]vue解决 element分页:删除最后一页的所有数据后(包括批量删除),刷新后数据表格为空。(前端、后端两种方法)

表格第二页只有一条数据,这时删除后,拉取刷新表格,发现表格分页跳到第一页,但是总数是20条,
页面也没数据,这其实是分页的current值还是2导致
直接上代码
//删除时
 	handleDel(taskRow) {
      this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        delTaskLog(taskRow.id).then(res => {
          this.$message.success('操作成功')
          this.reSizePage()//这里改变当前current值
          this.loadData()
        }).catch(error => {
          this.$message.error(error.msg)
        })
      }).catch(() => {
        this.$message.info('已取消删除')
      })
    },
    // 关于最后一页删除问题
    reSizePage(num) {
      const totalPage = Math.ceil((this.pageInfo.total - 1) / this.pageInfo.size)
      const pagenum = this.pageInfo.current > totalPage ? totalPage : this.pageInfo.current
      this.pageInfo.current = pagenum < 1 ? 1 : pagenum
    }

//以上只能解决单个删除,以下是批量删除
	getTableData(){//获取表格数据
		fetchPage(cleanObject(obj)).then(response => {
	        const { data } = response.data.data
	        this.tableData = data.records
	        this.pageInfo.pageTotal = data.records.length //当前页总数(自己定义的)
	        this.pageInfo.total = data.total //pagention绑定的所有页总数    
      })
	}
	//删除时
	 handleDel(ids) {
	      this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
	        confirmButtonText: '确定',
	        cancelButtonText: '取消',
	        type: 'warning'
	      }).then(() => {
	        particle.delParticle({ ids: ids }).then(res => {
	          this.$message.success('操作成功')
	          this.reSizePage(ids.length) //这里改变当前current值
	          this.loadData()
	        }).catch(error => {
	          this.$message.error(error.msg)
	        })
	      }).catch(() => {
	        this.$message.info('已取消删除')
	      })
	    },
	     // 关于最后一页删除问题
    reSizePage(num) {
      if (num === this.pageInfo.pageTotal) {
        this.pageInfo.current = (this.pageInfo.current - 1) || 1
      }
    }

//后端解决逻辑:判断第二页是否有数据,如果没数据,就返回第一页数据
IPage resultPage = this.page(fdParticlePageDTO.getPage(), wrapper1.lambda().orderByDesc(FdParticle::getUpdateTime).eq(FdParticle::getType,fdParticlePageDTO.getType()));
if (fdParticlePageDTO.getPage().getCurrent() > 1 && resultPage.getRecords().size() == 0){
   fdParticlePageDTO.getPage().setCurrent(fdParticlePageDTO.getPage().getCurrent() -1);
   resultPage = this.page(fdParticlePageDTO.getPage(), wrapper1.lambda().orderByDesc(FdParticle::getUpdateTime).eq(FdParticle::getType,fdParticlePageDTO.getType()));
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 09:51:45  更:2022-05-14 09:52:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:39:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码