在下面的codepen中,我试图按两个不同表上的列标题分别进行排序。但是,当我对两个表中的任何一个进行排序时,它也会对另一个表的列进行排序。我尝试创建一个单独的名为sortByB的排序函数,并在其中一个表上使用它,但它仍对另一个表进行排序。谢谢。

JS

$scope.sortBy = function(sortField) {
  $scope.reverseOrder = ($scope.sortField === sortField) ? !$scope.reverseOrder : false;
  $scope.sortField = sortField;
};

$scope.sortByB = function(sortField) {
  $scope.reverseOrder = ($scope.sortField === sortField) ? !$scope.reverseOrder : false;
  $scope.sortField = sortField;
};

最佳答案

看下面的代码:

<tr ng-repeat="ticket in filteredTicketA | filter:var2 | filter:searchTextA:true:Status | orderBy:sortField:reverseOrder">


orderBy:sortField:reverseOrder部分控制排序。

现在,sortFieldreverseOrder在两个表之间共享。如果要为两个不同的表使用不同的排序设置,则需要两个sortField和两个reverseOrder变量。

还要注意,您可能不需要复制数据数组或排序回调。

09-25 22:13