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

View File

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