使用Ember JS进行多列排序

时间:2015-05-15 11:07:59

标签: javascript sorting ember.js

我的要求是使用EmberJS使用动态属性名称对数组进行排序。

我之前为单列排序所做的是

ents = @get('acceptedEntities')  //get the array 
@set('sortAscending', !@get('sortAscending'))
sort_data = ents.sortBy(property_name) //property name is sort order

我正在寻找的内容

 ents = @get('acceptedEntities')  
 @set('sortAscending', !@get('sortAscending'))
 sort_data = ents.sortBy([property_name1, property_name2])

我试过上面的解决方案,但没有运气,我在这里关于计算排序 并像这样实施

model = @get('acceptedEntities')
sortProperties = [property_name, 'entity_sf_account_name']
sort_data = Ember.computed.sort(model, sortProperties)

但排序不正常,请给我建议。

我也试过这个

sortProperties = ['one:asc', 'two:desc', 'three:asc']

sort_data = Ember.ArrayProxy.createWithMixins(Ember.SortableMixin, {
    content: model,
    sortProperties: sortProperties
})

以上代码适用于使用多个参数进行排序,但是当我想要排序顺序时,它无法正常工作

由于

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点,但我会这样做:

sortProperties = ['one:asc', 'two:desc', 'three:asc']

sort_data = Ember.ArrayProxy.createWithMixins(Ember.SortableMixin, {
    content: model,
    sortProperties: sortProperties
})