【问题标题】:Why orderby filter is not working?为什么 orderby 过滤器不起作用?
【发布时间】:2016-08-26 05:39:41
【问题描述】:

我正在应用“orderby”过滤器,但它不起作用。我从一个我仔细检查过的 API 获取数据,这是肯定的。但过滤器不起作用。

 <div class="filter-container">
      <select class="form-control" ng-model="userOrder">
         <option value="0">No</option>
         <option value="1">Yes</option>
      </select>
 </div>

 <tr class="odd" ng-repeat="user in allusers | filter: query1 | filter: query2 | filter: query3 | filter: query4 | filter: query5 | orderBy: userOrder">       
     <td>
         <span ng-if="user.superuser==1">Yes</span>
         <span ng-if="user.superuser==0">No</span>
     </td>      
     <td>
         <span ng-if="user.status==0">Not active</span>
         <span ng-if="user.status==1">Active</span>
         <span ng-if="user.status==-1">Banned</span>
     </td>            
 </tr>

我的控制器:

$scope.user = function () {
    $http.get('http://event/users/users/')
        .success(function (data) {
            $scope.allusers = data;
            console.log("all users data coming in user function");                   
        })
        .error(function (data) {
            console.log('error');
        });
};

【问题讨论】:

    标签: angularjs filter angularjs-orderby


    【解决方案1】:

    我假设您尝试通过user 对象的superuser 属性进行订购。

    你应该这样做:

    orderBy : "superuser"
    

    如果您希望您的选择框控制是按降序还是升序排序,请执行以下操作:

    <select class="form-control" ng-model="sortReversed">
           <option value="False">No</option>
           <option value="True">Yes</option>
    </select>
    
    ...
    
    orderBy : "superuser" : sortReversed
    

    希望对你有帮助

    【讨论】:

    • 应用了您的答案,当我选择否时,我仍然在结果中看到“否”,如果我选择是,则没有变化。
    【解决方案2】:

    如果你有allusers,你需要传递数组的元素,如下所示。那么userOrder 应该是namelastname

    https://docs.angularjs.org/api/ng/filter/orderBy为您提供更多帮助。

    用波纹管改变你的下拉菜单并尝试。

    <select class="form-control" ng-model="userOrder">
         <option value="username">Username</option>
         <option value="email">Email</option>     
    </select>
    

    【讨论】:

    • 我在另一个项目中编写了相同的代码,它在那里工作,但不是在这里,
    • @UsmanIqbal 你能写下 $scope.allusers 中的虚拟数据吗?
    • [{"id":"1","access_token":"21232f297a57a5a743894a0e4a801fc3","username":"admin","email":"webmaster@example.com","create_at": "2015-12-17 00:00:00","lastvisit_at":"2016-08-25 07:28:17","超级用户":"1","状态":"1","密码": null,"activkey":null,"salt":null,"requires_new_password":null,"login_attempts":null,"login_time":null,"login_ip":null,"activation_key":null,"validation_key":null, "create_time":null,"update_time":null,"reset_token":null,"profilepic":null}]
    猜你喜欢
    • 1970-01-01
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多