Răsfoiți Sursa

Merge pull request #14185 from luckyCao/dev

Table: fixed show-summary issue when multilevel header has fixed attr…
Zhi Cun 6 ani în urmă
părinte
comite
32a4c139a9
1 a modificat fișierele cu 14 adăugiri și 4 ștergeri
  1. 14 4
      packages/table/src/table-footer.js

+ 14 - 4
packages/table/src/table-footer.js

@@ -62,7 +62,7 @@ export default {
                 <td
                   colspan={ column.colSpan }
                   rowspan={ column.rowSpan }
-                  class={ [column.id, column.headerAlign, column.className || '', this.isCellHidden(cellIndex, this.columns) ? 'is-hidden' : '', !column.children ? 'is-leaf' : '', column.labelClassName] }>
+                  class={ [column.id, column.headerAlign, column.className || '', this.isCellHidden(cellIndex, this.columns, column) ? 'is-hidden' : '', !column.children ? 'is-leaf' : '', column.labelClassName] }>
                   <div class={ ['cell', column.labelClassName] }>
                     {
                       sums[cellIndex]
@@ -116,6 +116,14 @@ export default {
       return this.store.states.fixedColumns.length;
     },
 
+    leftFixedLeafCount() {
+      return this.store.states.fixedLeafColumnsLength;
+    },
+
+    rightFixedLeafCount() {
+      return this.store.states.rightFixedLeafColumnsLength;
+    },
+
     rightFixedCount() {
       return this.store.states.rightFixedColumns.length;
     },
@@ -130,15 +138,17 @@ export default {
   },
 
   methods: {
-    isCellHidden(index, columns) {
+    isCellHidden(index, columns, column) {
       if (this.fixed === true || this.fixed === 'left') {
-        return index >= this.leftFixedCount;
+        return index >= this.leftFixedLeafCount;
       } else if (this.fixed === 'right') {
         let before = 0;
         for (let i = 0; i < index; i++) {
           before += columns[i].colSpan;
         }
-        return before < this.columnsCount - this.rightFixedCount;
+        return before < this.columnsCount - this.rightFixedLeafCount;
+      } else if (!this.fixed && column.fixed) { // hide cell when footer instance is not fixed and column is fixed
+        return true;
       } else {
         return (index < this.leftFixedCount) || (index >= this.columnsCount - this.rightFixedCount);
       }