layui + Tp5 数据表多功能分页

1.HTML布局,贼简单,一句话(自行引入layui的lay.css和layui.js)

<table class="layui-hide" id="test" lay-size="sm" lay-filter="test"></table>

2.JS部分

<script>
    layui.use('table', function(){
        var table = layui.table;

        table.render({
            elem: '#test'
            ,url:"{:url('test/pagedata')}"   //后端数据返回接口地址
            ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
                layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                ,curr: 1 //设定初始在第 5 页
                ,limit:10 //一页显示多少条
                ,limits:[5,10,15]//每页条数的选择项
                ,groups: 3 //只显示 2 个连续页码
                ,first: "首页" //不显示首页
                ,last: "尾页" //不显示尾页

            }
            ,cols: [[
                {field:'id', width:80, title: 'ID'}
                ,{field:'name', width:100, title: '用户名'}
                ,{field:'age', width:80, title: '年龄',sort:true}
                ,{field:'pix', width:80, title: '头像', templet:function(d){//自 layui 2.2.5 开始,templet 开始支持函数形式,函数返回一个参数 d,包含接口返回的所有字段和数据
                    return "<img src='"+ d.pix +"' style='height:100%;' />";
                }}
                ,{field:'sex', width:80, title: '性别', templet:function(d){//同上,回调函数对当前行数据进行处理
                    return (d.sex == "1") ? "男": "女";
                }}

            ]]

        });

    });
</script>

ps:

elem: HTML元素ID号,就是你需要生成的容器

url:后端返回数据接口地址

cols: field和数据表字段保持一致,

         title为表头显示内容,

         templet可以给当前返回数据进行处理,例如:性别返回的是1和0, 头像返回的是图片地址,需要稍加处理展示

PHP后端部分: (Test控制器下的pagedata方法,对应js中的url)

public function pagedata(Request $request){
        //数据表获取总记录数
        $count = Db::name('liu')->count();
        //获取每页显示的条数
        $limit= $request->param('limit');
        //获取当前页码
        $page= $request->param('page');
        //limit的起始位置
        $start=($page-1)*$limit;
        // 查询出当前页数显示的数据
        $list = Db::name('liu')
            ->limit("$start,$limit")
            ->order('id desc')
            ->select();
        //返回数据
        return ["code"=>"0","msg"=>"","count"=>$count,"data"=>$list];
    }

效果图:

mark 一下,tkzzz

猜你喜欢

转载自blog.csdn.net/Gino_tkzzz/article/details/84942012