数据表格 有没有什么方法是重新渲染数据,而不用重新请求网络的

提问 未结
1 79
风口浪猪
风口浪猪 2019-3-15
悬赏:50飞吻
版本:layui 2.4.5 浏览器:
我的表格表头是动态的 , 都是从接口获取 , 上次从论坛得到一个方法,就是设置一个标记位,这样才不会因为reload递归调用,暂时解决了表头网络获取的问题,但是需要请求2次接口,感觉不是很方便 。倒也没什么问题,但是我的表格还有一个勾选项,勾选以后重新请求表头又会变化, 勾选左边的选项会导致表头变化,
layui.use('form', function () {
let form = layui.form;
//监听提交
form.on('submit(formDemo)', function (data) {
let filterParams = data.field;

mDataTable.reload('mainTable', {
initSort: {
field: 'ksmc',
type: 'desc'
},
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
dateState: filterParams.dateState == 1 ? 1 : 0,
ysmc: filterParams.ysmc,
cfNoState: filterParams.cfNoState == 1 ? 1 : 0,
ksmc: filterParams.ksmc,
startTime: filterParams.startTime,
ksmcState: filterParams.ksmcState == 1 ? 1 : 0,
endTime: filterParams.endTime,
ysmcState: filterParams.ysmcState == 1 ? 1 : 0,
blh: filterParams.blh
},
page: {
curr: 1
},
firstPageRefreshHeader: true
});

return false;
});
});
但是因为筛选请求因为表头动态解析也要请求两次,第二次也就是done里面设置完表头重新请求的数据和筛选的请求参数不一样了,导致筛选请求无效,如下图是筛选的请求


这是筛选请求解析完表格头以后的reload的请求 科室名称已经没有了,表格配置大概是这样的 ,我不知道reload会怎么走,为什么reload的参数不会改变
回帖