Как использовать default и пользовательскую сортировку вместе в angularjs - PullRequest
0 голосов
/ 23 октября 2019

Я сейчас использую функцию сортировки по клику на моем столе и работает нормально. Но теперь мне также нужно отсортировать таблицу в порядке убывания dateCol при загрузке страницы. Таким образом, изначально таблица будет отсортирована в порядке убывания столбца dateCol, и если мы щелкнем заголовок столбца, соответствующая сортировка также будет работать.

Вот мой код -

$scope.sort = function(keyname){

    if($scope.ref.displayTxnList && $scope.ref.displayTxnList.length > 0)
        if(checkDuplicateInObject(keyname,$scope.ref.displayTxnList) > 1)
        {
            if ($scope.sortKey == keyname) {
                $scope.reverse = !$scope.reverse;
            } else {
                $scope.sortKey = keyname;  
                $scope.reverse = false;
            }   
        }
    $scope.currentPage = 1;
}

И фрагмент - -

<table class="table table-hover table-standard">
    <thead>
        <th ng-click="sort('dateCol')"></th>
    </thead>
    <tbody>
        <tr ng-repeat="t in ref.displayTxnList | orderBy:sortKey:reverse | startFrom:( currentPage - 1 ) * pageSize | limitTo: pageSize track by $index">
            ...
        </tr>
    </tbody>
</table>

1 Ответ

0 голосов
/ 23 октября 2019

В соответствии с документацией , мы можем предоставить несколько аргументов orderBy как - | orderBy : expression : reverse : comparator. Итак, используя то же самое, мы можем использовать еще один orderBy следующим образом -

<tr ng-repeat="t in ref.displayTxnList | orderBy:'dateCol':false | orderBy:sortKey:reverse | startFrom:( currentPage - 1 ) * pageSize | limitTo: pageSize track by $index">
    ...
</tr>

Где, Я предоставил reverse как false, что дает мне нисходящий порядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...