这是因为表格的父元素隐藏的情况下无法进行准确尺寸计算导致的,比如在进入页面首先页面渲染显示的是第一个tab的表格,而第二个tab的页面实际没有显示,但是js里面已经执行了渲染表格的操作
知道问题原因就好处理了,解决思路就是首次进入页面只渲染第一个tab的表格,后面的表格判断当切换到当前tab时才执行渲染表格的操作,这样不仅解决问题,而且也能提高页面的加载速度,因为是按需加载,js不会在一打开页面就执行多个表格的渲染
let list2 = false //一个标识,用作判断第二个表格是否已经加载完成了
layui.element.on('tab(demo)', function(data){
if(data.index==1 && !list2){
//渲染表格
list2 = layui.table.render(...)
}
}