提问者:小点点

Ember. js中的排序表


我有一个用服务器数据生成的表格。表格上的每一列顶部都有一个按钮,可以根据该列中的值从高到低或从低到高对整个表格进行排序。还有一个名称列按字母顺序排序。

目前,我已经将所有这些与车把连接起来,当您单击按钮时,它会对表格数据数组进行排序,然后重新插入模板并将其插入页面。

我正在尝试将其转移到使用ember. js。我的第一个问题是我的table-data数组不再是一个简单的数组,它是一个包含各种get和set方法和其他内容的Enber对象。我如何使用像我这样的函数对其进行排序:

function sortAtoZ(arr, one, two) {
    arr.sort(function(a, b) {return a[one].localeCompare(b[two])});
}

共1个答案

匿名用户

通过Sortable Misin,余烬阵列控制器内置了对基本排序的支持。开箱即用,它支持使用Ember.compare按一个或多个属性排序,但可以使用自定义sortFunction,如:

App.TableController = Ember.ArrayController.extend({
  sortProperties: ['trackNumber'],
  sortAscending: true,
  sortFunction: function(a,b) {
    // your custom sort logic here
    // return 0 if the two parameters are equal, return a negative value if the first parameter is smaller than the second or return a positive value otherwise
  }
});

此外,如果您想使用表格做一些更高级的事情,请查看enpe-table