Browse Source

Table: fix table-column order disorder when made the assembly again

hejinming 7 years ago
parent
commit
0e478016be
1 changed files with 10 additions and 3 deletions
  1. 10 3
      packages/table/src/table-column.js

+ 10 - 3
packages/table/src/table-column.js

@@ -185,17 +185,24 @@ export default {
         parent = parent.$parent;
       }
       return parent;
+    },
+    columnOrTableParent() {
+      let parent = this.$parent;
+      while (parent && !parent.tableId && !parent.columnId) {
+        parent = parent.$parent;
+      }
+      return parent;
     }
   },
 
   created() {
     this.customRender = this.$options.render;
     this.$options.render = h => h('div', this.$slots.default);
-    this.columnId = (this.$parent.tableId || (this.$parent.columnId + '_')) + 'column_' + columnIdSeed++;
 
-    let parent = this.$parent;
+    let parent = this.columnOrTableParent;
     let owner = this.owner;
     this.isSubColumn = owner !== parent;
+    this.columnId = (parent.tableId || (parent.columnId + '_')) + 'column_' + columnIdSeed++;
 
     let type = this.type;
 
@@ -376,7 +383,7 @@ export default {
 
   mounted() {
     const owner = this.owner;
-    const parent = this.$parent;
+    const parent = this.columnOrTableParent;
     let columnIndex;
 
     if (!this.isSubColumn) {