Zur Zeit habe ich keine Möglichkeit, die Spalten meiner Liste mit dem orderBy
-Filter zu sortieren. Das Problem, was ich habe, ist ein verschachtelter ngRepeat.Spalten in verschachtelter ng-Wiederholung sortieren (AngularJS)
Ausblick:
<md-list>
<md-list-item>
<span ng-repeat="item in ::hItems track by $index" ng-click="sortBy(item)" flex>
{{ ::item }}
</span>
</md-list-item>
<md-divider></md-divider>
<md-list-item ng-repeat="cItem in ::cItems | orderBy:sortType:sortReverse track by $index">
<span ng-repeat="(key, value) in ::cItem track by $index" flex>
{{ ::value }}
</span>
<md-divider></md-divider>
</md-list-item>
</md-list>
Sobald der Benutzer klicken Sie auf eine Spalte sortBy
die Funktion Header wird aufgerufen werden. Die Funktion wird in der Steuerung wie folgt umgesetzt:
//Default values:
$scope.sortType = 'NAME';
$scope.sortReverse = false;
var orderBy = $filter('orderBy');
//sortBy func:
function sortBy(columnKey) {
$scope.sortType = columnKey;
$scope.sortReverse = !$scope.sortReverse;
$scope.cItems = orderBy($scope.cItems, $scope.sortType, $scope.sortReverse);
}
Die Liste sortiert nur durch den Standardwert name
. Hier ist die Array-Ausgabe von GET-Anfrage:
//JSON data
[
{
"ArtNo": "DE123",
"SHORTCODE": "ABC",
"NAME": "article one",
"QUANTITY": 3,
"GROUPID": 1,
"ACTIVE": 1
},...
]
Also, ich brauche verschachteltes ngRepeat, weil, wie Sie das Array sehen mit Schlüsselnummern und Objektwerten =>[0:Object, 1:Object...]
definiert ist. Ich brauche nur eine Lösung für meine sortBy
-Funktion. Hat jemand eine Idee?
Das folgende ist meine Ausgabeliste:
ArtNo | SHORTCODE | NAME | QUANTITY
DE123 | ABC001 | article one | 3
DE456 | ABC002 | article two | 8
DE789 | ABC003 | article three | 4
DE321 | ABC004 | article four | 13
....
Bitte vereinfachen Sie Ihre Frage Code und bieten eine funktionierende Geige ... –
@EliasSoares Was verstehst du nicht in meinem Code? Dann kann ich meinen Thread bearbeiten. – yuro
Was ist 'md-list',' md-list-item', 'md-divider'? Ich weiß, dass dies möglicherweise keinen Einfluss auf das Problem hat, aber wenn Sie den kleinsten Code bereitstellen, mit dem das Problem auftritt, ist es für Sie (und uns) leicht, das Problem zu finden. –