【发布时间】:2015-11-03 11:32:11
【问题描述】:
当我单击可排序的列标题时,它首先按降序排序,第二次单击时按升序排序。我怎样才能扭转这种局面?
我知道您可以在设置中设置初始排序顺序,但我需要更改单击列的默认行为。
【问题讨论】:
标签: javascript angularjs ngtable
当我单击可排序的列标题时,它首先按降序排序,第二次单击时按升序排序。我怎样才能扭转这种局面?
我知道您可以在设置中设置初始排序顺序,但我需要更改单击列的默认行为。
【问题讨论】:
标签: javascript angularjs ngtable
在不改变源码的情况下,没有办法配置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); 是负责升序优先排序行为的代码。
【讨论】:
创建表并设置 tableParams 变量后,您可以使用 settings 方法设置默认排序:
this.tableParams.settings({defaultSort: 'asc'});
【讨论】: