问题 如果删除最后一页的最后一条数据之后,页面会显示不正常
原因是删除指令发出去之后会执行一次数据的获取,这个时候获取的分页还是前一次的页数
const res = await deleteRole(id)//删除的函数
console.log(res)
// 2. 重新请求
this.fngetRoles()//该函数获取角色的时候pageParams: { page: 8, pagesize: 20 }
8页 还是8页,但实际上后台已经没有第八页的数据了,
所以删除的时候可以先进行一个判断
this.$message.success('删除成功')
if (this.roles.length === 1) {
this.pageParams.page--
if (this.pageParams.page <= 0) {
this.pageParams.page = 1
}
}
判断当前页面的数据长度this.roles.length,如果为1,则表示删除当前的数据之后,把请求的页数减去1
如果当前的页数为1,也就是总共就只有一条数据了, 则删除该数据后,还是请求第一页的数据