Element: el-table-column sortable="custom" 设置为远端排序对sort-change事件进行监听,在连续点击排序表头,会有问题

Created on 5 Apr 2017  ·  14Comments  ·  Source: ElemeFE/element

Element UI version

1.2.7

OS/Browsers version

win10/chrom 57.0.2987.110

Vue version

2.2.6

Reproduction Link

https://jsfiddle.net/pj71jkyw/

Steps to reproduce

由于是公司工程无法提供重现链接,具体是这样的:
table
el-table-column sortable="custom" 设置为远端排序对sort-change事件进行监听,在连续点击排序表头,有时候会出现
Object {column: null, prop: null, order: null}column: nullorder: nullprop: null__proto__: Object undefined undefined
这种获取不到任何参数的情况
image

What is Expected?

尽快排查下此问题

What is actually happening?

el-table-column sortable="custom" 设置为远端排序对sort-change事件进行监听,在连续点击排序表头,有时候会出现
Object {column: null, prop: null, order: null}column: nullorder: nullprop: null__proto__: Object undefined undefined
这种获取不到任何参数的情况

Most helpful comment

sort-orders可以設置關閉默認排序:
:sort-orders="['ascending', 'descending']"

All 14 comments

不是 bug,这是恢复了默认排序,此时排序箭头为未激活状态。

点2下恢复未激活状态这样不太合适啊,也会有问题的,就算这样,那也应该可以在什么地方设置未激活状态时候的默认排序传什么参数,而不是传一堆null

对啊,点2下恢复未激活状态这样不太合适啊

这个表头排序问题怎么也解决?我看他们自己用的时候怎么是好的呢?点击两次后居然回复到未激活状态,这种结论没听过

如果恢复未激活,返回null的时候应该带上prop,不然我不知道是哪一列恢复为无排序状态

data () {
  return {
    querySort: {}
  }
},
methods: {
  handleSortChange ({ column, prop, order }) {
      // order恢复为null时,也应该带上prop呀
      console.log('sort-change', column, prop, order)
      Vue.set(this.querySort, prop, order)
    }
}

噢不好意思秀逗了,原来没有支持多列排序。。
feature request: https://github.com/ElemeFE/element/issues/5603

@Leopoldthecoder
建议恢复默认排序时,回调参数不要置null;prop可以置为字段名,order字段可以置为空字符串或“unordered”,以示该字段无需排序,这样方便做多列组合排序。

@sxhjlzl 这个issue不能关啊,问题还没解决呢。
点2下恢复未激活状态这样不太合适啊

这个设计真的很没有必要,绝大多数情况两种状态足够了,或者传参设置两种状态还是三种状态会更好~

sort-orders可以設置關閉默認排序:
:sort-orders="['ascending', 'descending']"

学习了。

sort-orders可以設置關閉默認排序:
:sort-orders="['ascending', 'descending']"

这个仅仅用于sortable = true的情况,并不适用于 custom的情况

这个问题如何解决?如果我在sortable=custom时,只需要升降序两种情况。

如果恢复未激活,返回null的时候应该带上prop,不然我不知道是哪一列恢复为无排序状态

data () {
  return {
    querySort: {}
  }
},
methods: {
  handleSortChange ({ column, prop, order }) {
      // order恢复为null时,也应该带上prop呀
      console.log('sort-change', column, prop, order)
      Vue.set(this.querySort, prop, order)
    }
}

真的很需要这个功能~什么时候能解决呢

Was this page helpful?
0 / 5 - 0 ratings

Related issues

EdenSpark picture EdenSpark  ·  3Comments

Kingwl picture Kingwl  ·  3Comments

yuchonghua picture yuchonghua  ·  3Comments

gengxuelei picture gengxuelei  ·  3Comments

no5no6 picture no5no6  ·  3Comments