具体情况如下
search (pageNum = 1) {
this.pageNum = pageNum // 默认为分页1
let obj = {
page: {
pageNum: this.pageNum,
pageSize: this.pageSize
}
}
Object.assign(obj.params, this.params) // 合并筛选里的数据
... 发送请求 参数为obj
}
------------------------------------------------
changePage (pageNum) {
this.search(pageNum) // 切换分页时根据条件刷新数据
},
changeSize (size) {
this.pageSize = size // 切换也容量时根据条件刷新数据
this.search()
},
以上是正常分页处理, 因为带有筛选, 每次调用接口同时传递了筛选的参数.
正常操作都没问题.
可能出现问题如下
1.选择筛选条件不做查询
2.筛选条件选择完毕以后切换分页,
3.因为切换分页会同时带入筛选的条件调用接口,
4.切换分页等于点击了查询按钮
5.同时如果筛选的条件返回的值不足页容量时,你又同时切换了分页,效果则是没有数据
因为此刻你处于第二分页,数据不足页容量虽然请求成功,但是不会显示数据
changePage (pageNum) {
this.params = { // this.params 是携带的筛选条件, 我这里只保留了时间
caozuoLevel: [],
dianwangLevel: '',
workNature: '',
workType: '',
voltageLevel: '',
jihuaStatus: '',
tdDesc: '',
planStatusType: '',
beginTime: this.params.beginTime, // 时间处理
endTime: this.params.endTime
}
this.search(pageNum)
},
changeSize (size) {
this.pageSize = size
this.search()
},
在切换分页的时候将默认的筛选条件清除, 保留最基本获取数据的参数 这样就不会出现上诉问题,