标签:layui cols 表头 参数 重载 table data
需求:
今日遇到一个需求:table重载后展示动态表头
问题:
碰到一个问题:
表格重载后,表头没有按照重载方法传入的cols参数展示,而是还是展示原先的表头
原因:
经过一番排查后发现原因,layui中 table.reload(ID, options) 在接收options中的参数中,如果参数是数组形式,那并不会完全替换历史参数,而是覆盖到对应长度。如果之前传入参数是[1,2,3,4],重载传入参数是[a,b.c],那后台获取到的参数是[a,b,c,4]
解决:
这个问题解决起来并不复杂,而是复杂在了发现问题的原因,实际解决只需要一行关键代码就好,在table的render方法的回调函数中,将cols字段初始化就可以了: this.cols = [ ];
实例
1.表头重载的方法
//执行重载
form.on('select(interest)', function(data){
console.log(data);
let v=data.value;
table.reload('tableId', {
page: {curr: 1 },//重新从第 1 页开始
//where:[],
cols: objCol[v]//新的表头
});
});
2.关键代码!!!!!
//表格渲染
table.render({
elem:"#tableId",
cols:cols,
url:"....",
defaultToolbar:[],
data:[],
done:function (res,curr,count) {
this.cols = []; //(关键代码)将cols初始化,否则表格重载时无法正确重新渲染表头
}
标签:layui,cols,表头,参数,重载,table,data 来源: https://blog.csdn.net/G_ruirui/article/details/123419683
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。