如何反转ng-table中列的排序顺序(升序优先)?

时间:2015-11-03 11:32:11

标签: javascript angularjs ngtable

当我单击可排序的列标题时,它首先按降序排序,然后在第二次单击时按升序排序。我该怎么扭转呢?

我知道您可以在设置中设置初始排序顺序,但我需要更改单击列的默认行为。

2 个答案:

答案 0 :(得分:1)

创建表并设置tableParams变量后,可以使用settings方法设置默认排序:

this.tableParams.settings({defaultSort: 'asc'});

答案 1 :(得分:0)

为了在不更改源代码的情况下先设置升序,无法配置ng-table。

ngTableSorterRowController.js中,您可以阅读:

var defaultSort = $scope.params.settings().defaultSort;
var inverseSort = (defaultSort === 'asc' ? 'desc' : 'asc');
var sorting = $scope.params.sorting() && $scope.params.sorting()[parsedSortable] && ($scope.params.sorting()[parsedSortable] === defaultSort);
var sortingParams = (event.ctrlKey || event.metaKey) ? $scope.params.sorting() : {};
            sortingParams[parsedSortable] = (sorting ? inverseSort : defaultSort);
            $scope.params.parameters({
                sorting: sortingParams
            });

我认为(sorting ? inverseSort : defaultSort);是负责升序优先排序行为的代码。