Angularjs 使用智能表进行二级排序?

Angularjs 使用智能表进行二级排序?,angularjs,smart-table,Angularjs,Smart Table,我有一个使用智能表的分页表。我想先使用状态,然后使用代码进行排序。我不能使用AngularJS中的orderBy,因为它将对每个页面的元素进行排序,而不是全部。和st sort智能表订单的默认值仅适用于一列 <table st-table="lista.displayedPublications" st-safe-src="lista.publications"> <thead> <tr> <

我有一个使用智能表的分页表。我想先使用状态,然后使用代码进行排序。我不能使用AngularJS中的orderBy,因为它将对每个页面的元素进行排序,而不是全部。和st sort智能表订单的默认值仅适用于一列

<table st-table="lista.displayedPublications" st-safe-src="lista.publications">
      <thead>
          <tr>
               <th st-sort="publication.status" >STATO</th>
               <th st-sort="publication.communicationCode">TREAT CD</th>                      
               <th> ... </th>
          </tr>
      </thead>
      <tbody>
          <tr ng-repeat="publication in lista.displayedPublications">
               <td>{{publication.status}}</td>
               <td>{{publication.communicationCode}}</td>
               <td>...</td>                 
           </tr>
       </tbody>
             <tfoot>
                <tr>
                    <td>
                        <div st-template="ListaTreatement/pagination.html" st-pagination="" st-items-by-page="10"></div>
                    </td>
                 </tr>
              </tfoot>
  </table>

斯塔托
治疗CD
... 
{{publication.status}
{{publication.communicationCode}
...                 
在控制器中:

public publications: PublicationExtended[];
public displayedPublications = [].concat(this.publications);
constructor(...){
     new Api($http).getList(me.comunicationType, me.comunicationStatus).then(
        function(response : angular.IHttpPromiseCallbackArg<PublicationExtended[]>) {
            me.publications = response.data;
        }
}
公共出版物:PublicationExtended[];
public displayedPublications=[].concat(this.publications);
构造函数(…){
新的Api($http).getList(me.comCommunicationType,me.comCommunicationStatus)。然后(
函数(响应:angular.ihttpromisecallbackarg){
me.publications=response.data;
}
}

在控制器中使用
$filter(“orderBy”)($scope.lista.displayedPublications,[“+status”,“+code”]);
对数据进行排序,然后再将其提供给表。
+
-
可用于设置降序或升序排序顺序。

我的控制器中有公共displayedPublications=[].concat(this.publications);请提供处理此表的angularjs代码
public displayedPublications=$filter(“orderBy”)([].concat(this.publications),[“+status”,“+code”]);
而不是
public displayedPublications=[].concat(this.publications);
可能会奏效。请记住将$filter注入控制器。我使用simply me.publications=$filter('orderBy')(response.data,['+status','+code'])解决了这个问题;既然您提到了OrderBy筛选器,我就使用OrderBy来解决您的问题。您可以使用任何自定义筛选器来对数据进行排序,并且解决方案仍然保持相同的原则。