写在前面
在使用layui数据表格的时候,有一个列是使用templet,依据其他两个列数据计算得到。 在该列开启合计行,一直显示是0 。其他两列数据合计正常。 在社区和百度上寻找过答案,并没有相关介绍。 在解决了该问题后,写下这篇小记录。
parseData
配置中提供了parseData方法,可以在请求了接口之后,进一步处理数据格式。 以下是官网的示例
table.render({ elem: '#demp' ,url: '' ,parseData: function(res){ //res 即为原始返回的数据 return { "code": res.status, //解析接口状态 "msg": res.message, //解析提示文本 "count": res.total, //解析数据长度 "data": res.data.item //解析数据列表 }; } //,…… //其他参数 });
以上的场景,应该在parseData里计算出新的列,然后再渲染到表格里
let data = []; $.each(obj.data, function (index, item) { let tem = { game_diffcoins: item.game_hardcoins - item.game_coin, game_diffjifen: item.game_hardjifen - item.game_jifen, }; data.push($.extend(tem, item)) }); obj.data = data;
个人理解
templet 应该用来实现样式的调整,比如根据值的不同显示不同颜色 而数据的计算 得出,应该在parseData 或者直接就在接口里计算好返回。