diff --git a/packages/table/src/table.vue b/packages/table/src/table.vue index a90c9c33e..6b8ea49b0 100644 --- a/packages/table/src/table.vue +++ b/packages/table/src/table.vue @@ -4,6 +4,7 @@ 'el-table--fit': fit, 'el-table--striped': stripe, 'el-table--border': border, + 'el-table--hidden': isHidden, 'el-table--fluid-height': maxHeight, 'el-table--enable-row-hover': !store.states.isComplex, 'el-table--enable-row-transition': (store.states.data || []).length !== 0 && (store.states.data || []).length < 100 @@ -291,6 +292,9 @@ } else if (this.shouldUpdateHeight) { this.layout.updateHeight(); } + if (this.$el) { + this.isHidden = this.$el.clientWidth === 0; + } }); } }, @@ -451,6 +455,7 @@ return { store, layout, + isHidden: false, renderExpanded: null, resizeProxyVisible: false }; diff --git a/packages/theme-default/src/table.css b/packages/theme-default/src/table.css index f651e4c31..52a5dc23f 100644 --- a/packages/theme-default/src/table.css +++ b/packages/theme-default/src/table.css @@ -146,6 +146,10 @@ } } + @modifier hidden { + visibility: hidden; + } + & th { background-color: var(--table-header-background); text-align: left;