如何在AngularJS中指定默认排序顺序
how to specify default sort order in AngularJS
我正在使用自定义订单函数,这是我的控制器中的代码:
$scope.customOrder = function (item) {
var empStatus = item.empState;
switch (empStatus) {
case 'Working':
return 1;
case 'Leave':
return 2;
case 'Resigned':
return 4;
case 'Someother':
return 3;
}
};
在我的html我有以下代码:
<table class="table">
<thead class="active">
<tr>
<th>
<a href="" ng-click="orderByemployeeField=sorterFunc; reverseemployeeSort = !reverseemployeeSort">
employee ID <span ng-show="orderByemployeeField == sorterFunc"><span
ng-show="!reverseemployeeSort">^</span><span ng-show="reverseemployeeSort">v</span></span>
</a>
</th>
<th>
<a href="" ng-click="orderByemployeeField=customOrder; reverseemployeeSort = !reverseemployeeSort">
employee State <span ng-show="orderByemployeeField == 'employeeState'"><span
ng-show="!reverseemployeeSort">^</span><span ng-show="reverseemployeeSort">v</span></span>
</a>
</th>
<th>
<a href="" ng-click="orderByemployeeField='daysCount'; reverseemployeeSort = !reverseemployeeSort">
Days Count <span ng-show="orderByemployeeField == 'daysCount'"><span
ng-show="!reverseemployeeSort">^</span><span ng-show="reverseemployeeSort">v</span></span>
</a>
</th>
</tr>
</thead>
<tbody ng-if="!fromOffice">
<tr ng-repeat="employee in employees | filter:search | orderBy: orderByemployeeField:reverseemployeeSort"
id="row{{employee.assetId}}" ng-mouseover="showRowTitle($event, employee)"
ng-click="showemployeesOrAlarmsSiteMap($event,employee.assetId)" style="cursor: pointer"
ng-dblclick="employeeInformation(employee)">
<td><a href="" ui-sref="app.cesemployeedetails({ employeeID:employee.assetId })"
style="text-decoration: underline">{{employee.assetId}}</a></td>
<td>{{employee.employeeState}}</td>
<td>{{employee.daysCount}}</td>
</tr>
</tbody>
<tbody ng-if="fromOffice">
<tr ng-repeat="employee in employees | filter:search | orderBy: orderByemployeeField:reverseemployeeSort | orderBy : customOrder"
ng-if="employee.siteId == selectedSiteId" style="cursor: pointer">
<td>{{employee.assetId}}}</td>
<td>{{employee.employeeState}}</td>
<td>{{employee.daysCount}}</td>
</tr>
</tbody>
</table>
现在我如何在我的控制器中指定默认排序顺序函数。例如,在我的控制器中,我想添加如下内容:
$scope.orderByemployeeField = customOrder
但是我不确定它的参数应该是什么。谁能建议我如何实现它?
我可以通过以下方式添加默认排序顺序:
<tr ng-repeat="employee in employees | filter:search | orderBy : customOrder | orderBy:
orderByemployeeField:reverseemployeeSort" ng-if="employee.siteId == selectedSiteId" style="cursor: pointer">
<td>{{employee.assetId}}}</td>
<td>{{employee.employeeState}}</td>
<td>{{employee.daysCount}}</td>
</tr>
我将customOrder移动到第一个order by函数。因此,当页面加载这个order by时,首先执行的是"orderBy: orderByemployeeField:reverseemployeeSort"。这样,列表就由customOrder函数排序,然后我们可以单击表中每个列的标题来进行相应的排序。
相关文章:
- 酒窝 JS 多个 y 轴 - 更改默认排序
- knockout.js、knockout可排序和默认文本
- DataTables设置默认排序列并设置无法排序的列
- 防止谷歌图表表中的默认排序事件
- 使用 Greasemonkey 修改 Craigslist 的默认搜索结果排序
- 2D 数组的默认排序是什么
- 在第一个由 angularjs 选择中排序默认选项
- 表排序器寻呼机插件 - 默认显示所有条目
- Extjs 3.4 Tree Grid默认按指定列排序
- 如何设置角度智能表的默认排序顺序
- 我可以禁用jquery$.post的默认排序吗
- 使用Jquery Tablesorter,了解如何使其中一列成为加载页面时进行排序的默认列
- 如何使默认<选项>在Javascript中,同时按顺序排序
- 动态地选择ReactJS作为组件,作为默认的排序
- 如何设置低到高在表排序为默认值
- Angular在object中的默认排序
- 当源数据是对象数组时,数据表中的默认排序
- 如何在AngularJS中指定默认排序顺序
- 指定网格中的默认排序
- 在jQuery中为特定ID或整个项目设置“无默认排序”(“aaSorting”:[])