一般情况下,请求接口时向后台传递一些无用的参数可能不影响,但是对于一些传参检测比较严格的接口进行请求时,对于接口传递的参数就会有着严格的把控,不允许存在不必要的参数和空值,这时Layui表格重载可能就会因为请求的参数会自动缓存而出现一些无用的参数依然存在的情况,那么对于这种情况的解决方式就是在每次重载表格之前清空缓存,但是这个清除缓存不能在数据渲染完的回调中操作,因为这样的话虽然是能解决参数缓存的问题,但是如果当前table使用了分页效果的话,分页效果就失效了。因为done
是在每次发送完请求之后做的事情,如果每次请求之后清空缓存,就会造成翻页的时候没有请求参数了。那么我们的解决方法就是:
假设上次请求的参数为:
vm.whereData.where = {name:‘名称‘,age:12,sex:1},
而这次请求不需要sex的请求,多了一个grade的请求
vm.whereData[‘where ‘] = {}; //在上次表格请求参数中拿出本次请求需要的参数之后清空上次表格重载请求参数 var data = vm.whereData.where; //重新赋值
data.name =
layui.table.reload(‘tableID‘, { where: data, page: { curr: 1 // 从第1页请求 }, done: function(res, curr, count) { vm.whereData = this; //拿到本次表格重载请求参数 } })
原文:https://www.cnblogs.com/songmengwen1124/p/14793310.html