Table: Add clear sort

pull/7605/head
lirilsu 2017-10-18 16:01:33 +08:00 committed by 杨奕
parent 26a8c222b1
commit ec182424ad
2 changed files with 26 additions and 6 deletions

View File

@ -150,14 +150,16 @@ TableStore.prototype.mutations = {
Vue.nextTick(() => this.table.updateScrollY());
},
changeSortCondition(states) {
changeSortCondition(states, options) {
states.data = sortData((states.filteredData || states._data || []), states);
this.table.$emit('sort-change', {
column: this.states.sortingColumn,
prop: this.states.sortProp,
order: this.states.sortOrder
});
if (!options || !options.silent) {
this.table.$emit('sort-change', {
column: this.states.sortingColumn,
prop: this.states.sortProp,
order: this.states.sortOrder
});
}
Vue.nextTick(() => this.table.updateScrollY());
},
@ -435,6 +437,20 @@ TableStore.prototype.clearFilter = function() {
this.table.$emit('filter-clear');
};
TableStore.prototype.clearSort = function() {
const states = this.states;
if (!states.sortingColumn) return;
states.sortingColumn.order = null;
states.sortProp = null;
states.sortOrder = null;
this.commit('changeSortCondition', {
silent: true
});
this.table.$emit('sort-clear');
};
TableStore.prototype.updateAllSelected = function() {
const states = this.states;
const { selection, rowKey, selectable, data } = states;

View File

@ -250,6 +250,10 @@
this.store.clearFilter();
},
clearSort() {
this.store.clearSort();
},
handleMouseLeave() {
this.store.commit('setHoverRow', null);
if (this.hoverState) this.hoverState = null;