首页 > 解决方案 > 为什么降序的 OrderBy 过滤器不起作用?

问题描述

我有一个对象数组,其属性包含 notificationemailid。当我按降序对数据进行排序时,它不起作用

0: {EmailNotificationID: 50, Client: "Hanson", Ranch: "Bricoleur Vineyards", Block: "Block 4",…}
1: {EmailNotificationID: 53, Client: "Esther Suen", Ranch: "Lucunda Vineyard", Block: "Block 1",…}
2: {EmailNotificationID: 58, Client: "Benziger Family Winery", Ranch: "Sunny Slope", Block: "Block A1",…}
3: {EmailNotificationID: 66, Client: "Arista Winery", Ranch: "Estate", Block: "Block Bee Tree",…}
4: {EmailNotificationID: 63, Client: "Edgar Lantz", Ranch: "Sam Brannon", Block: "Block 2E_3",…}
5: {EmailNotificationID: 67, Client: "Benziger Family Winery", Ranch: "Sunny Slope", Block: "Block A2",…}
6: {EmailNotificationID: 68, Client: "Benziger Family Winery", Ranch: "Sunny Slope", Block: "Block A2",…}
7: {EmailNotificationID: 70, Client: "Edgar Lantz", Ranch: "Sam Brannon", Block: "Block 1E_2 South",…}
8: {EmailNotificationID: 71, Client: "Stein", Ranch: "Windsor Oaks Vineyards", Block: "Block 10D1",…}
9: {EmailNotificationID: 73, Client: "Williams Selyem Winery", Ranch: "Saitone Vineyard",…}
10: {EmailNotificationID: 74, Client: "Pier Oddone", Ranch: "Home", Block: "Block C.S",…}
11: {EmailNotificationID: 76, Client: "Trentadue Winery", Ranch: "Estate", Block: "Block 405 PS",…}
12: {EmailNotificationID: 75, Client: "Landmark", Ranch: "Hop Kiln Vineyard", Block: "Block 25",…}
  <tr ng-repeat="Notification in Notificationlist | limitTo:5:5*(page-1) | orderBy : '-EmailNotificationID':false ">
    <td><span class="val1">{{Notification.Client}}</span></td>
    <td><span class="val1">{{Notification.Ranch}}</span></td>
    <td><span class="val1">{{Notification.Block}}</span></td>
    <td><span class="val1">{{Notification.SensorType}}</span></td>
    <td><span class="val1">{{Notification.Depth}}</span></td>
    <td><span class="val1">{{Notification.Criteria}}</span></td>
    <td style="text-align:right">
       <span class="val1">{{Notification.Value1}}{{Notification.Symbol}}
       </span>
    </td>
    <td style="text-align:right">
       <span class="val1">{{Notification.Value2}}{{Notification.Value2==NULL?'':Notification.Symbol}}
       </span>
    </td>
    <td>
        <!--<button class="btn btn-default" type="button" id="DeleteButton" 
                    text="Submit" name="Submit"
                    ng-click="DeleteAlertNotification()">
          Delete
        </button>-->
        <i style="color:#ff7675;font-size:25px;padding-left:25%;cursor:pointer"
           ng-click="confirmDeletion(Notification.EmailNotificationID)"
           class="fa fa-trash" aria-hidden="true"></i>
    </td>

实际数据应按降序排列

标签: angularjs

解决方案


更改orderBy : '-EmailNotificationID':falseorderBy: 'EmailNotificationID':true

属性名称前的前缀-用于表示降序排列。所以orderBy: 'EmailNotificationId':true等于orderBy: '-EmailNotificationId'

orderBy过滤器应放在limitTo过滤器之前。所以,<tr ng-repeat="Notification in Notificationlist | orderBy:'-EmailNotificationID' | limitTo:5:5*(page-1)>


推荐阅读