Html 基于客户端angularjs的过滤模型
我有这样的模型:Html 基于客户端angularjs的过滤模型,html,angularjs,angularjs-filter,Html,Angularjs,Angularjs Filter,我有这样的模型: { "TaskDate": "2015-01-04T00:00:00", "TimesheetList": [ { "WorkItemId":24, "ProjectId":3, "ProjectName":"Hello world", "UserId":12, "UserName":"Anatoliy Svetliakov",
{
"TaskDate": "2015-01-04T00:00:00",
"TimesheetList": [
{
"WorkItemId":24,
"ProjectId":3,
"ProjectName":"Hello world",
"UserId":12,
"UserName":"Anatoliy Svetliakov",
"Date":"2015-01-04T22:00:00",
"Task":"#34 : New task test",
"TimeWorked":2,
"Note":null,
"InProgress":false
}
]
}
此数据以无限滚动的形式显示在表中。我需要创建自定义筛选器,该筛选器将按Name
和/或数据(从到)
筛选数据。请告诉我怎么做。我已经创建了函数,但它不起作用
.filter('tsFilter', function() {
return function(model, filter) {
var filtered = [];
if (model != null) {
for (var i = 0; i < model.length; i++) {
filtered[i] = model[i];
}
}
if (filter != null) {
if (filter.UserId != null) {
for (i = 0; i < filtered.length; i++) {
for (var j = 0; j < filtered[i]['List'].length; j++) {
if (filtered[i].List[j].UserId != filter.UserId) {
filtered.splice(j, 1);
j--;
}
}
}
}
}
for (i = 0; i < filtered.length; i++) {
if (filtered[i].List.length == 0) {
filtered.splice(i, 1);
i--;
}
}
return filtered;
};
})
.filter('tsFilter',function(){
返回函数(模型、过滤器){
var筛选=[];
如果(型号!=null){
对于(变量i=0;i
在第页的表格中显示如下:
<div class="timesheet-table-container">
<table class="table-timesheet" id="table-body" infinite-scroll-immediate-check="false" infinite-scroll="loadMore()" infinite-scroll-distance="1">
<tbody ng-repeat="item in model | tsFilter: filter | limitTo: limits track by $index">
<tr class="timesheet-day-block">
<td colspan="6">
<span class="timesheet-date">{{item.TaskDate | dateFilter}}</span>
</td>
</tr>
<tr class="timesheet-table-rows" ng-repeat="list in item.List" ng-form="logged">
<td>{{list.ProjectName}}</td>
<td>{{list.UserName}}</td>
<td>{{list.Date | date: 'dd/MM/yyyy'}}</td>
<td>{{list.Task}}</td>
<td>{{list.TimeWorked}}</td>
<td>
<span style="width: 85%">{{list.Note}}</span>
<button class="active-delete-button" ng-click="removeTask(list)" style="display: inline-block; float:right">вњ–</button>
</td>
</tr>
</tbody>
</table>
</div>
{{item.TaskDate | dateFilter}}
{{list.ProjectName}
{{list.UserName}
{{list.Date}日期:'dd/MM/yyyy'}
{{list.Task}
{{list.TimeWorked}
{{list.Note}
вњ–
- 演示:
请参考演示源代码。不是答案。。但是,如果您通过传递过滤参数而不是在客户端上过滤服务器上的数据,则性能会更好。这很好,但它仅适用于按用户ID或日期进行过滤。我需要按用户ID或日期、用户ID和Date@HUSTLIN:我已经更新了,对不起,我的不好。。现在试试,让我知道。是的,它有效,谢谢!)什么是davilmaycode服务?@HUSTLIN davilmaycode.it是我的网页设计工作室;-)该网站正在建设中,由于缺乏时间=))如果你是在一些项目中安装的只是取得联系。