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