Skip to content

TabrisK/ui.lightPagination

Repository files navigation

ui.lightPagination

ui.lightPagination使用向导

#依赖 1、angular。版本必须高于1.3.x;
2、ui.bootstrap.pagination模块。这是一个经过angular封装的bootstrap组件,你可以从这里或者本工程中得到该模块;

#angular主模块中添加相关module

angular.module("demo", ["ui.bootstrap","ui.lightPagination"]);//ui.bootstrap中应当包含pagination模块

#基本配置

###前台动态分页

<light-pagination total-data="List.totalList" sub-data="subList" conf="List.conf" setting="List.setting"></light-pagination>

在相关controller中的List对象配置

$scope.List = {
    conf: {
        serverSide: false
    },
    totalList: [],
    loadData: function () {
        service.getData().then( //一个返回数据请求promise的serivce
            function (res) {
                $scope.List.totalList = res.data; //非serverSide直接返回Array
                toastr.success("刷新成功!");
            },
            function (err) {
                toastr.error("加载数据失败!");
            }
        );
    },
    refresh: function () {
        $scope.List.totalList = undefined; //清空
        $scope.List.loadData(); //重新请求
    }
}

###后台动态分页

<light-pagination total-data="List.totalList" sub-data="subList" conf="List.conf" setting="List.setting" server-query="List.refresh()"></light-pagination>
$scope.List = {
    conf: {
        serverSide: true
    },
    totalList: [],
    loadData: function (currentPage, itemsPerPage) {
        $scope.queryData.rows = itemsPerPage; //当前每页条数
        $scope.queryData.page = currentPage; //当前页数
        service.getData($scope.queryData).then(
            function (res) {
                $scope.countNum = res.data.code;
                $scope.List.setting.count = res.data.count;
                $scope.List.totalList = res.data; //非serverSide直接返回Array
                toastr.success("刷新成功!");
            },
            function (err) {
                toastr.error("加载数据失败!");
            }
        );

    },
    setting: {
        page: 1,
        row: 10,
    },
    refresh: function () {
        $scope.List.totalList = undefined; //清空
        $scope.List.loadData($scope.List.setting.page, $scope.List.setting.row); //重新请求
    }
}

#attribute

###total-data 必填。请求返回得到的所有数据。如果是前端分页则直接把一个包含所有数据的数组传入即可;如果是后台分页则要求返回的数据必须满足以下结构再传入,该分页插件才能正常工作。

//共130条数据,每页10条,当前第4页
{
    count: 130,
    rows: 10,
    page: 4,
    message: [/*...第4页的10条数据在此...*/]
}

###sub-data 必填。在该属性中的对象将返回经过该分页插件切割得到的Array。例如配置为静态分页,当前为第3、每页5条数据,则sub-data将返回total-data数组中第10到底14条数据。

###conf 该属性对表格进行一些配置,以下是它的options

{
    noPagination: false,//boolean。默认缺省(即false),当为true时隐藏可切换每页几条的select
    serverSide: false//boolean。缺省时默认是前端分页(建议必填)
}

###setting 必填。该属性实时同步分页插件的一些属性,目前这些属性包括

{
    page: currentPage,//同步当前第几页
    row: currentRowperPage//同步当前每页几条数据
}

PS:row目前只有5、10、15、30、50、-1(全部)几种可供选择

###server-query 必填(conf.serverSide为true时)。该属性定义了当本插件的实例化对象发生page变化或row变化时调用的请求方法。

About

ui.lightPagination using guide

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published