我在我的应用中列出的用户使用ng-table
。
这是我的表,我可以单场一次。但我想用单个字段
搜索多个键我有一系列值var search = ['Suhail', 'User'];
我想在数据中搜索这个数组
例如: - Suhail,用户喜欢
function getUsers(params) {
var data = { page: params.page(), count: params.count() };
if (!users.length) {
var getUsersCallBack = userService.getUsers(data);
return getUsersCallBack.then(function (response) {
var responseJson = angular.fromJson(response.data);
vm.out = responseJson.data;
users = vm.out.invitations.concat(vm.out.users);
users.forEach(function (user, index) {
user.statusName = status[user.status];
user.invitation = (index < vm.out.invitations.length) ? "Pending" : "Accepted";
user.roleName = vm.userRoles[user.role];
}, this);
vm.tableBasic.total(users.length);
var orderedData = vm.search ? $filter('filter')(users, vm.search) : users;
vm.resultNotFound = orderedData.length ? false : true;
return (orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
});
}
else {
var searchArr = vm.search.$.split(";");
var orderedData = vm.search ? $filter('filter')(users, vm.search) : users;
vm.resultNotFound = orderedData.length ? false : true;
vm.tableBasic.total(orderedData.length);
return (orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
}
vm.tableBasic = new NgTableParams({
page: 1,
count: 5
}, {
counts: [],
filterDelay: 300,
getData: getUsers
});
答案 0 :(得分:1)
只需使用in-build $过滤器的角度。 您拥有所有表数据的对象。对该变量应用角度过滤器,然后在表格中显示响应。
$scope.loadTable = function(){
$scope.data = $scope.searchText ? $filter('filter')($scope.table_data, $scope.searchText) : $scope.table_data;
$scope.tableParams = new NgTableParams({},{dataset: $scope.data});
}
$scope.clearSearch = function(){
$scope.searchText = '';
$scope.loadTable();
}
在提交搜索按钮时调用 loadTable 函数,并在清除过滤器并重新加载表格数据时调用 clearTable 函数。