You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AngularJS ng-table中设置与获取每页显示行数?

关于AngularJS ng-table的分页行数设置与获取问题

当然可以!ng-table在分页这块的配置其实挺灵活的,下面我分两部分给你讲清楚怎么设置默认行数,以及怎么获取当前选中的行数:

设置默认选中的每页行数

要设置默认显示的行数,你只需要在初始化ngTableParams的时候,给$params里的count属性赋值就行,同时可以通过counts数组定义下拉框里的可选行数选项。举个实际的代码例子:

// 假设你已经注入了ngTableParams到控制器中
angular.module('yourApp').controller('YourController', function($scope, ngTableParams) {
    // 你的数据源,这里用示例数据代替
    var yourData = [/* 你的数据数组 */];

    $scope.tableParams = new ngTableParams({
        page: 1, // 默认显示第一页
        count: 20 // 这里设置默认每页显示20条
    }, {
        counts: [10, 20, 50, 100], // 下拉框里的可选行数选项
        data: yourData // 绑定你的数据源
    });
});

这样页面加载时,分页栏的下拉框就会默认选中20条,同时下拉选项里会显示你定义的10、20、50、100这些选项。

获取当前选中的每页行数

要获取用户当前选择的行数,直接访问tableParams.$params.count就可以拿到。如果需要实时监听行数变化的话,可以用AngularJS的$watch或者监听tableParams的变化事件:

方式1:直接获取当前值

在需要的地方(比如按钮点击事件、业务逻辑处理中)直接调用:

var currentPageSize = $scope.tableParams.$params.count;
console.log('当前每页显示行数:', currentPageSize);

也可以直接在模板中绑定显示:

<p>当前每页显示:{{ tableParams.$params.count }} 条记录</p>

方式2:实时监听行数变化

如果需要在用户切换行数时触发一些逻辑,可以用$watch监听变化:

$scope.$watch('tableParams.$params.count', function(newCount, oldCount) {
    if (newCount !== oldCount) {
        console.log('每页行数从', oldCount, '切换为', newCount);
        // 这里可以添加你需要的业务处理逻辑
    }
});

这样就能轻松实现你要的两个需求啦!

内容的提问来源于stack exchange,提问作者Joram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:42:46