Commit 069d96a8 authored by Cr's avatar Cr Committed by hetech

Table: fixed row-style with display not work (#17002)

parent 90c5d74f
...@@ -321,9 +321,13 @@ export default { ...@@ -321,9 +321,13 @@ export default {
rowClasses.push('el-table__row--level-' + treeRowData.level); rowClasses.push('el-table__row--level-' + treeRowData.level);
display = treeRowData.display; display = treeRowData.display;
} }
// 指令 v-show 会覆盖 row-style 中 display
// 使用 :style 代替 v-show https://github.com/ElemeFE/element/issues/16995
let displayStyle = display ? null : {
display: 'none'
};
return (<tr return (<tr
v-show={display} style={ [displayStyle, this.getRowStyle(row, $index)] }
style={ this.getRowStyle(row, $index) }
class={ rowClasses } class={ rowClasses }
key={ this.getKeyOfRow(row, $index) } key={ this.getKeyOfRow(row, $index) }
on-dblclick={ ($event) => this.handleDoubleClick($event, row) } on-dblclick={ ($event) => this.handleDoubleClick($event, row) }
......
...@@ -182,7 +182,7 @@ describe('Table', () => { ...@@ -182,7 +182,7 @@ describe('Table', () => {
methods: { methods: {
tableRowStyle({row, rowIndex}) { tableRowStyle({row, rowIndex}) {
if (rowIndex === 1) { if (rowIndex === 1) {
return { height: '60px' }; return { height: '60px', display: 'none' };
} }
return null; return null;
...@@ -191,8 +191,12 @@ describe('Table', () => { ...@@ -191,8 +191,12 @@ describe('Table', () => {
}); });
setTimeout(_ => { setTimeout(_ => {
expect(vm.$el.querySelector('.el-table__body tr:nth-child(1)').style.height).to.equal(''); let child1 = vm.$el.querySelector('.el-table__body tr:nth-child(1)');
expect(vm.$el.querySelector('.el-table__body tr:nth-child(2)').style.height).to.equal('60px'); let child2 = vm.$el.querySelector('.el-table__body tr:nth-child(2)');
expect(child1.style.height).to.equal('');
expect(child1.style.display).to.equal('');
expect(child2.style.height).to.equal('60px');
expect(child2.style.display).to.equal('none');
destroyVM(vm); destroyVM(vm);
done(); done();
}, DELAY); }, DELAY);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment