关于后台管理前端列表插件的选择和使用。

做后台管理系统一般不怎么讲究样式。都是以功能为主。而最多的应该是数据列表了。如果纯粹自己写,需要考虑因素太多,例如分页,搜索,排序,功能扩展,样式统一等,还容易出现问题,不符合快速开发的理念。采用Jquery的插件,使用AJAX的交互方式。进行列表页面的快速渲染。而关于选择又有多样化,而经过考虑我是选择datatables。

以下是实际效果图

前期准备。进去Datables的官网

下载我们需要的插件。官网还有文档,虽然有些地方是坑点,但大致上还是没错的。

解压缩包后放入项目。此次主要引用文件为。

jquery.js
jquery.dataTables.min.js

引入后。开始后端的代码

我这里使用的是PHP仅供测试型参考。

  //多维数组一般是数据查询后生成的。大致上是总条数/分页数=单页数据
        $info=[
            0=>
            ['id'=>1,'name'=>'test1', ],
            ['id'=>2,'name'=>'test2', ]
        ];
        //总条数,数据查询后统计一下总共多少条。
        $count=2;
        $info=array('data'=>$info,'recordsTotal'=>$count,'recordsFiltered'=>$count);
        echo json_encode($info);

最终返回的是JSON格式。例如下图

而前端要做的是。

首先是HTML的,需要一个存放表格。

       <table class="table table-border table-bordered table-bg table-hover">
                <thead>
                <tr>
                    <th scope="col" colspan="14">产品列表</th>
                </tr>
                <tr class="text-c">
                    <th >序号</th>
                   <th>名称</th>
                </tr>
                </thead>
                <tbody>
                </tbody>
            </table>

然后是JS的代码。

 window.onload = function () {
        $('.table').dataTable({
            lengthChange: false,
            searching: false,//本地搜索
            serverSide: true,//服务器模式
            ordering: false,//是否排序
            stateSave: true,//保存查询状态
            pageLength: "10",//默认10条
            order: [[11,'desc']],//排序设置
            aoColumnDefs: [
                {"orderable": false, "aTargets": [0,1]}// 不参与排序的列
            ],
            "ajax": {
                "url": "请求地址",
                "contentType": "application/json",
                "data": function (d) {
                    //提交额外的ajax 搜索
                    return $.extend({}, d, {
                        '_csrf': "csrf",
                        "productCode": $('#productCode').val(),
                        "title": $('#title').val(),
                        "source": $('#source').val(),
                        "datemin": $('#datemin').val(),
                        "datemax": $('#datemax').val()
                    });
                },
                "dataSrc": function (json) {
                    //json二次处理层
                    $("#list_nums").html(json.recordsTotal);
                    var data = [];
                    return data;
                }
            },
            "columns": [
                /*列对应json返回键名*/
                {"data": "id"},
                {"data": "name"}
            ],
            "infoCallback": function (settings, json) {
                /*居中列*/
                $('table tr').find('td:eq(0)').css('text-align', 'center');
                $('table tr').find('td:eq(1)').css('text-align', 'center');
            }
        });
    };
    var list_cat = {
        doSearch: function () {
            //无重载式刷新
            var table = $('.table').DataTable();
            table.draw(false);
        }
    };

这些是基本的功能。注释上都有标明,根据自己的需求去调整。如果需要更多功能。

以下是你需要的。

Datables手册

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值