Angularjs 如何对过滤后的数据进行排序?
我有一个数据表,如果我从排序列表中选择“仅颜色”项,我可以过滤并仅显示“颜色”行。我使用以下代码执行此操作:Angularjs 如何对过滤后的数据进行排序?,angularjs,Angularjs,我有一个数据表,如果我从排序列表中选择“仅颜色”项,我可以过滤并仅显示“颜色”行。我使用以下代码执行此操作: <label>Sort By:</label> <select ng-model="orderProp" class="form-control" tabindex="2"> <option value="title">Title</option> <option value="filename">File
<label>Sort By:</label>
<select ng-model="orderProp" class="form-control" tabindex="2">
<option value="title">Title</option>
<option value="filename">File Name</option>
<option value="class">Classification</option>
<option value="color">Color Only</option>
</select>
排序依据:
标题
文件名
分类
只有颜色
然后对table元素使用ng repeat:
<tr ng-repeat="item in filtered = (pptData | filter: query | orderBy: orderProp)" ng-if="orderProp !== 'color' || item.color">
但是,如何按标题显示这些颜色结果?我尝试了以下操作,但没有成功:
<option value="{{ 'color' | orderBy:'title' }}">Color Only</option>
仅限颜色
有人有什么想法吗?我的。试试下面的方法
$scope.reverse = true; // false
<option value="{{ 'color' | orderBy:title:reverse }}">Color Only</option>
$scope.reverse=true;//假的
只有颜色
参考资料:我会这样做
<tr ng-repeat="item in filtered = (pptData | filter: query | orderBy: [orderProp,'title'])" ng-if="orderProp !== 'color' || item.color">
基本上先按orderProp排序,然后按标题排序。那么,当用户选择“仅按颜色排序”时,它应该按标题排序吗?这很令人困惑,不是吗?为什么要使用排序组合进行筛选?为什么不使用复选框按颜色过滤,而不是使用排序选项呢?我想他的意思是,当您选择“仅颜色”(即color=true)时,条目应按标题排序。jedanput是正确的。我重新考虑了这个过程,当我这次尝试时,它对我有效。谢谢