可排序的Angular数据表——可排序的表在第一次加载时呈现良好,但在后续过滤器中不产生记录
Sortable Angular Datatables - Fitlerable table renders fine on first load but produces no records on subsequent filters
我有一个数据集(在Angular datatable中呈现),我想显示按"filterTags"分类的项目。
每次我运行查询时,我需要首先根据fillertag获取新数据。
问题是,当我排序数据时,我一直获得初始filterTag名称作为过滤的标准,数据集没有更新。
我如何得到表响应时,单击顶部的两个过滤器标签按钮,如在柱塞看到?
表重复代码-数据集基于fillertag
ng-repeat="data in Data| filter:{ TagName: filterTag, TagId: filterId} | filter:searchText"
数据源获取函数
var getData= function(){
$scope.Data= service.getData().query();
}
在访问
页面时调用getData()的代码if(path == "/some/path"){
getData();
}
编辑请参见plunkr
https://plnkr.co/edit/Kzw3zO673ORPY1xlWw9p?p =
预览到现在为止,我还不知道为什么
$scope.filterTag = "TYPE 1";
或
$scope.filterTag = "TYPE 2";
works
但是下面的调用在表中没有产生结果,在我的plunkr示例中显示的是空表。
$scope.selectTag = function(tag){
$scope.filterTag = tag;
}
升级到1.10.12(数据表)修复了这个问题。
//cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js我还必须将过滤器更新为自定义过滤器,而不是像我在问题中所使用的内联过滤器。
//Initial Value
$scope.filterTag = "TYPE 1";
$scope.dtInstance = {};
$scope.filteredData = $scope.items.filter(function(r) {
var tag = (typeof $scope.filterTag === undefined)? "TYPE 1" : $scope.filterTag;
var show = r.TagName == tag;
return show;
});
var update = function(){
$scope.filteredData = $scope.items.filter(function(r) {
var tag = (typeof $scope.filterTag === undefined)? "TYPE 1" : $scope.filterTag;
var show = r.TagName == tag;
return show;
});
}
工作示例
https://plnkr.co/edit/NI6ixwlUT82s1MpBvMRg?p =预览
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- jQuery dataTables基于类型的列筛选不起作用?Img alt过滤器/排序
- AngularJs orderby 过滤器无法正确排序数据
- UI可排序与角度过滤器进行ng重复
- 表排序器从选择下拉菜单和自定义时间过滤器中选择多个选项
- 使用过滤器对 ng-repeat$scope对象进行排序
- 根据过滤器和搜索栏重新排序和隐藏图片
- 可排序的Angular数据表——可排序的表在第一次加载时呈现良好,但在后续过滤器中不产生记录
- 数据表中的columnfilterwidget过滤器排序问题
- order过滤器不排序动态添加的ng-repeat列表
- 如何使用angularjs过滤器在头部添加排序
- jQuery tablesorter -从排序器/过滤器中隐藏特定的表内容
- jQuery过滤器-按属性和价格排序
- 在ng-options上使用自定义排序过滤器时,奇怪的排序行为
- KendoUI网格在一次刷新中更改过滤器和排序
- DC/交叉过滤器行图排序数据,馈送图表
- telerik radGrid - 在排序/分页/过滤器上保持客户端状态
- jQuery中基于过滤器的排序
- SlickGrid在排序后重新应用/修复过滤器