当前位置: 首页 > Web前端 > JavaScript

解决表格数据与界面不一致的问题

时间:2023-03-26 23:49:43 JavaScript

问题描述:layui表格渲染时由于异步请求数据问题,当用户在获取表格的过程中短时间内频繁请求数据或者选择其他条件重新查询时短时间内的数据,是非常困难的,可能会导致表格中的数据和想要的数据不一致,甚至会导致点击表格详情时得到的数据和界面上的数据不一致,以及那么重定向页面上的数据不正确。解决方案是限制用户在短时间内频繁查询表数据,想出以下解决方案:1.对请求进行防抖2.立即中止该请求之前未完成的相同请求3.请求之前查询按钮被禁用,只有在请求完成后才能点击。4.请求前,加载层弹出屏蔽界面,导致期间用户无法操作。done渲染完成后,loading层关闭。这里我们使用第四种方法对表进行公共请求。layui的封装在表格请求数据前弹出layui加载层防止用户继续操作,保存加载层id(tableIdx)关闭,包装表格加载完成回调,然后表数据请求完成后关闭加载层,关闭加载层代码:returnparseData(res)}}if(paramsOBJ.done){//二次封装done渲染完成,加载层关闭vardone=paramsOBJ.done;paramsOBJ.done=function(res,curr,count){layer.close(window.tableIdx);返回完成(res,curr,count);};}else{paramsOBJ.done=function(res,curr,count){layer.close(window.tableIdx);}