這個元件相對其他元件看起來比較簡單,遇到的坑卻是很多。
适應場景:
1、可配置排序
2、可配置列寬度
3、可配置總計及其位置(第一行/最後一行)
4、可配置固定頭、固定列
5、單元格可插槽
效果圖:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHLwZ1Vi5WNXp1bO1mYohmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLxETN0IzNxUTMzETNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
排序
點選排序,是按照NONE->DESC->ASC->NONE的循環順序排序
插槽
作用域插槽,将單元格資料傳遞給父元件,父元件在做一個不同的填充
作用域插槽見:《作用域插槽的那些事》
固定頭和列
方案一:
用三個表格拼接,三個scroll-view滾動時關聯,橫向滾動時沒有太大問題,豎向滾動時,會出現延遲,裂縫,不能達到一體的效果--->PASS
方案二:
用樣式position: sticky, table-head和table-row中的table-column設定
-----------------------------------------填坑----------------------------------------------------
1、當with不傳或with=百分比, 某一列資料很長,會出現border不等
解決:table-head和table-row設定width: fit-content, 因為with不傳或with=百分比時,表格是不需産生滾動條,所有列合起來是100%
當with=xxpx時,是可能産生橫向滾動條,table-head和table-row設定width: max-content,會根據内容撐開,讓scroll-view形成滾動條
2、固定列, 滾動時會發現固定列的底是镂空的,因為第二列的資料很多,它的table-column高度是>第一列的table-column的
解決:table-row flex布局設定align-items: stretch,讓同行的table-column等高
效果:
至于單元格内未垂直居中,可在單元格中設定
3、固定列時,橫向滾動時可看到最左側會有一條1px左右的縫隙,會镂空其他資料
解決:固定列用::before僞類填充那條縫隙