Table: fix expanded rows collapsing when data change (#9462)

This commit is contained in:
FuryBean 2018-01-28 16:16:57 +08:00 committed by 杨奕
parent e40c17f68b
commit cfa9e6fc61
2 changed files with 10 additions and 1 deletions

View File

@ -116,7 +116,7 @@ export default {
!this.fixed && this.layout.scrollY && this.layout.gutterWidth ? <td class="gutter" /> : ''
}
</tr>,
this.store.states.expandRows.indexOf(row) > -1
this.store.isRowExpanded(row)
? (<tr>
<td colspan={ this.columns.length } class="el-table__expanded-cell">
{ this.table.renderExpanded ? this.table.renderExpanded(h, { row, $index, store: this.store }) : ''}

View File

@ -405,6 +405,15 @@ TableStore.prototype.toggleRowExpansion = function(row, expanded) {
}
};
TableStore.prototype.isRowExpanded = function(row) {
const { expandRows = [], rowKey } = this.states;
if (rowKey) {
const expandMap = getKeysMap(expandRows, rowKey);
return !!expandMap[getRowIdentity(row, rowKey)];
}
return expandRows.indexOf(row) !== -1;
};
TableStore.prototype.cleanSelection = function() {
const selection = this.states.selection || [];
const data = this.states.data;