我正在使用角度ui-grid 3.2.5
以下是gridoptions
$scope.gridOptions = {
infiniteScrollRowsFromEnd: 40,
infiniteScrollUp: true,
infiniteScrollDown: true,
enableColumnMenus: false, // Remove hide columns options
columnDefs: $scope.myDefs,
data: 'data',
onRegisterApi: function (gridApi) {
gridApi.infiniteScroll.on.needLoadMoreData($scope, $scope.getDataDown);
gridApi.infiniteScroll.on.needLoadMoreDataTop($scope, $scope.getDataUp);
$scope.gridApi = gridApi;
}
};
function updateGrid(filteredData) {
$scope.response = filteredData;
$scope.firstPage = 1;
$scope.lastPage = 1;
$scope.totalPages = Math.ceil($scope.response.length / $scope.pageSize);
$scope.gridApi.infiniteScroll.setScrollDirections(false, false);
$scope.data = [];
$scope.data = $scope.response.slice(0, $scope.pageSize);
$timeout(function () {
$scope.gridApi.infiniteScroll.resetScroll($scope.firstPage > 0, $scope.lastPage < $scope.totalPages);
});
};
Run Code Online (Sandbox Code Playgroud)
当我们正在执行滚动gridApi.infiniteScroll.on.needLoadMoreData($scope, $scope.getDataDown);工作时,但是当数据在网格中更改时我们正在推送新数据$scope.$watch( 'data', updateGrid); …