1. 简介
layui是一个基于jQuery的UI库,封装了大量实用的组件,方便快捷地进行页面的布局和交互。其中,table组件是常用的用于显示表格数据的组件,使用起来非常简单。
2. 使用方法
2.1 导入文件
在HTML页面中,需要先导入layui的css和js文件,代码如下:
<link rel="stylesheet" href="layui/css/layui.css">
<script src="layui/layui.js"></script>
其中,layui.js文件中包含所有的组件库,因此只需导入一次即可。
2.2 渲染表格
在HTML页面中定义一个表格的容器,例如:
<table class="layui-hide" id="demo" lay-filter="test"></table>
其中,class="layui-hide"是为了在页面渲染之前隐藏表格,避免出现闪烁现象。id="demo"是表格的唯一标识符,lay-filter="test"是对表格进行过滤的方式。
接着,在js代码中通过table.render方法来渲染表格,代码如下:
//数据源
var data=[{"id":"1","name":"张三","age":"20"},{"id":"2","name":"李四","age":"22"},{"id":"3","name":"王五","age":"25"}];
//表格渲染
table.render({
elem: '#demo',
data: data, //数据源
cols: [[
{field:'id', title: 'ID', sort: true},
{field:'name', title: '姓名'},
{field:'age', title: '年龄', sort: true}
]]
});
其中,elem: '#demo'表示将数据源渲染到id为demo的表格中,data为数据源,cols为表头和列信息配置,sort表示是否启用排序,字段中的排序是通过js来实现的。
2.3 数据源
data可以是一个url地址,也可以是一个数组对象。如果是url地址,需要在cols中配置数据的字段名;如果是数组对象,则可以不配置。
例如:
//url地址
table.render({
elem: '#demo',
url: '/demo/table/user/', //数据接口
cols: [[
{field:'id', title: 'ID', sort: true},
{field:'username', title: '用户名'},
{field:'email', title: '邮箱'}
]]
});
//数组对象
var data=[{"id":"1","name":"张三","age":"20"},{"id":"2","name":"李四","age":"22"},{"id":"3","name":"王五","age":"25"}];
table.render({
elem: '#demo',
data: data,
cols: [[
{field:'id', title: 'ID', sort: true},
{field:'name', title: '姓名'},
{field:'age', title: '年龄', sort: true}
]]
});
2.4 表头和列信息
表头和列信息可以由多个数组组成,每个数组对应一行表头,每个表头对应一列信息。
例如:
cols: [[
{field:'id', title: 'ID', sort: true},
{field:'username', title: '用户名'},
{field:'email', title: '邮箱'}
], [
{field:'phone', title: '联系电话', sort: true},
{field:'sex', title: '性别'},
{field:'birthday', title: '生日', sort: true}
]]
其中,每个表头的属性包括:field(数据源中对应的字段名)、title(表头名称)、sort(是否可以排序)等属性。
2.5 处理事件
在渲染过程中,可以通过回调函数来处理表格中的事件,例如排序、单元格编辑等,常用的回调函数包括:done、toolbar、cellMinWidth、parseData、minWidth等。
例如,通过done回调函数来改变表头的颜色:
//表格渲染
table.render({
elem: '#demo',
data: data, //数据源
cols: [[
{field:'id', title: 'ID', sort: true},
{field:'name', title: '姓名'},
{field:'age', title: '年龄', sort: true}
]],
done: function(res, curr, count){
//修改表头样式
$('.layui-table thead tr th').css({'background-color':'#f2f2f2','font-weight':'bold'});
}
});
3. 总结
通过以上的介绍,我们可以看到,layui中的table组件非常简单易用,只需几行代码就可以渲染表格数据。同时,它还提供了丰富的参数设置和事件回调函数,方便我们对表格进行更加精细的控制和定制。