我在angularJS
中使用ngTable
创建了一个应用程序,该应用程序有两个表,一个表使用分组功能和排序,另一个表作为普通表而没有分组,只需要排序,应用程序工作正常,但排序不适用于没有分组功能的表。
由于我使用了两个表,并且都使用了排序功能,因此我提供了一个获取ngTableParams
对象的常用方法,如下所示,但不幸的是,排序不适用于没有分组的第一个表,具有分组功能排序的第二个表正在运行。
// NOT WORKING
$scope.tableParamsOne = getNgTableParams('name', 'desc' ,'', $scope.myDataOne);
// WORKING
$scope.tableParamsTwo = getNgTableParams('name', 'desc' ,'name', $scope.myDataTwo);
function getNgTableParams(sortingField, sortingOrder, groupByField, tableDatas)
{
return new ngTableParams({
sorting: {
sortingField: sortingOrder
}
}, {
groupBy: groupByField,
getData: function($defer, params) {
var orderedData = $filter('orderBy')(tableDatas, params.orderBy());
$defer.resolve(orderedData);
}
});
}
任何人都可以告诉我一些解决方案吗
答案 0 :(得分:2)
在第一个表中,您需要迭代$data
<table ng-table="tableParamsOne" class="table">
<tr ng-hide="false" ng-repeat="user in $data">
<td sortable="name" data-title="'Name'">
{{user.name}}
</td>
<td sortable="age" data-title="'Age'">
{{user.age}}
</td>
</tr>
</table>
工作plunk