diff --git a/packages/table/src/table-column.js b/packages/table/src/table-column.js index fd49c9e93..dd3a05b5a 100644 --- a/packages/table/src/table-column.js +++ b/packages/table/src/table-column.js @@ -335,12 +335,16 @@ export default { align(newVal) { if (this.columnConfig) { this.columnConfig.align = newVal ? 'is-' + newVal : null; + + if (!this.headerAlign) { + this.columnConfig.headerAlign = newVal ? 'is-' + newVal : null; + } } }, headerAlign(newVal) { if (this.columnConfig) { - this.columnConfig.headerAlign = newVal ? 'is-' + newVal : this.align; + this.columnConfig.headerAlign = 'is-' + (newVal ? newVal : this.align); } }, diff --git a/test/unit/specs/table.spec.js b/test/unit/specs/table.spec.js index 06dc12016..91d75c9f8 100644 --- a/test/unit/specs/table.spec.js +++ b/test/unit/specs/table.spec.js @@ -1359,21 +1359,30 @@ describe('Table', () => { } }, true); - setTimeout(() => { - expect(vm.$el.querySelectorAll('.el-table__header th.is-left').length > 0).to.be.true; - expect(vm.$el.querySelectorAll('.el-table__header td.is-center').length === 0).to.be.true; + vm.$nextTick(() => { + expect(vm.$el.querySelectorAll('.el-table__header th.is-left').length).to.above(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-center').length).to.equal(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-right').length).to.equal(0); vm.align = 'right'; vm.$nextTick(() => { - expect(vm.$el.querySelectorAll('.el-table__header th.is-right').length > 0).to.be.true; - expect(vm.$el.querySelectorAll('.el-table__header td.is-center').length === 0).to.be.true; + expect(vm.$el.querySelectorAll('.el-table__header th.is-left').length).to.equal(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-center').length).to.equal(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-right').length).to.above(0); vm.headerAlign = 'center'; vm.$nextTick(() => { - expect(vm.$el.querySelectorAll('.el-table__header th.is-right').length === 0).to.be.true; - expect(vm.$el.querySelectorAll('.el-table__header td.is-center').length > 0).to.be.true; + expect(vm.$el.querySelectorAll('.el-table__header th.is-left').length).to.equal(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-center').length).to.above(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-right').length).to.equal(0); + vm.headerAlign = null; + vm.$nextTick(() => { + expect(vm.$el.querySelectorAll('.el-table__header th.is-left').length).to.equal(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-center').length).to.equal(0); + expect(vm.$el.querySelectorAll('.el-table__header th.is-right').length).to.above(0); + done(); + }); }); }); - done(); - }, DELAY); + }); }); it('width', (done) => {