如果每個colspan > 1 的時候 應該是沒問題 如果colspan=1的時候會導致錯位
檢查表頭代碼發現colspan=1 在去檢查表格內容代碼發現會把 合並的頭 td也顯示出來
解決方案:
在lay-data里面合並的數據里面增加一個 [,colGroup:true]參數,版本測試2.5.6可以解決問題 2.3版本沒有效果 其他版本沒有測試
比如3層表頭colspan合並 第一層和第二層需要增加colGroup:true參數,第三層不需要增加
colGroup:true在官方文檔里面並沒有寫,通過查看源碼 [https://gitee.com/sentsin/layui/blob/master/src/lay/modules/table.js] 399行
//這里定位到 colGroup參數 等於true進去判斷 如果colspan=1的時候 並不能進入
//第二種解決方法 就是修改這里的 >1 判斷 改成 >=1 的時候就會進來(不推薦這種方法)
if(item2.colGroup || item2.colspan > 1){ var childIndex = 0; layui.each(options.cols[i1 + 1], function(i22, item22){ //如果子列已經被標注為{HAS_PARENT},或者子列累計 colspan 數等於父列定義的 colspan,則跳出當前子列循環 if(item22.HAS_PARENT || (childIndex > 1 && childIndex == item2.colspan)) return; item22.HAS_PARENT = true; item22.parentKey = i1 + '-' + i2; childIndex = childIndex + parseInt(item22.colspan > 1 ? item22.colspan : 1); }); item2.colGroup = true; //標注是組合列 }