Skip to content

Commit 8701d04

Browse files
author
黄书伟
committed
table 组件支持通过设置属性sort-always允许排序只在升序和降序切换
1 parent 58370d2 commit 8701d04

File tree

6 files changed

+32
-7
lines changed

6 files changed

+32
-7
lines changed

examples/doc/updateLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
1、修复 table 组件 固定左列偶尔无法触发滚动事件的bug
33
2、优化 table 组件 当有纵向自适应时并设置了最小高度时,表格内容高度小于‘最小高度’则以表格内容高度为准
44
3、修复 table 组件 数据变化合并单元格样式错乱的问题 #60
5+
4、table 组件支持通过设置属性`sort-always`允许排序只在升序和降序切换 #57
56

67
2017-12-1
78
1、修复 table 组件左侧固定列绑定滚动事件失效的问题

libs/v-table/src/sort-control-mixin.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,14 @@ exports.default = {
3030
collection.filter(function (column, index) {
3131

3232
if (self.enableSort(column.orderBy) && column.field === field) {
33-
column.orderBy = column.orderBy === 'asc' ? 'desc' : column.orderBy === 'desc' ? '' : 'asc';
33+
34+
if (self.sortAlways) {
35+
36+
column.orderBy = column.orderBy === 'asc' ? 'desc' : 'asc';
37+
} else {
38+
39+
column.orderBy = column.orderBy === 'asc' ? 'desc' : column.orderBy === 'desc' ? '' : 'asc';
40+
}
3441
}
3542

3643
if (!self.multipleSort) {

libs/v-table/src/table.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,11 @@
431431
type: Boolean,
432432
default: true
433433
},
434+
// 只在 升序和倒序切换
435+
sortAlways: {
436+
type: Boolean,
437+
default: false
438+
},
434439
columns: {
435440
type: Array,
436441
require: true

packages/v-table/src/sort-control-mixin.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/*
2-
* 排序
3-
* */
2+
* 排序
3+
* */
44
export default {
5-
methods:{
5+
methods: {
66
// 是否允许排序
77
enableSort(val){
88
return typeof val === 'string' ? true : false;
@@ -31,8 +31,15 @@ export default {
3131
collection.filter(function (column, index) {
3232

3333
if (self.enableSort(column.orderBy) && column.field === field) {
34-
column.orderBy = column.orderBy === 'asc' ? 'desc' :
35-
(column.orderBy === 'desc' ? '' : 'asc');
34+
35+
if (self.sortAlways) {
36+
37+
column.orderBy = column.orderBy === 'asc' ? 'desc' : 'asc';
38+
} else {
39+
40+
column.orderBy = column.orderBy === 'asc' ? 'desc' :
41+
(column.orderBy === 'desc' ? '' : 'asc');
42+
}
3643
}
3744

3845
if (!self.multipleSort) {

packages/v-table/src/table.vue

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,11 @@
431431
type: Boolean,
432432
default: true
433433
},
434+
// 只在 升序和倒序切换
435+
sortAlways: {
436+
type: Boolean,
437+
default: false
438+
},
434439
columns: {
435440
type: Array,
436441
require: true

umd/js/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)