我们接触到的layui表格大多数都是很单调的样式,就比如下面的第一张图片:
现在我就想在供应商的单元格中添加图标,效果图如下:
这种效果是怎么实现的呢?来看一下吧。
在layui表格中有一个很好用的函数,就是done回调函数,在done里面可以接收表格里面所有的数据,可以很方便我们获取值,并且也可以通过done来设置单元格的样式,或者表格的样式也可以用done来实现,那么来看一下done究竟是怎么使用的。
done的格式(写法):
done: function (data, curr, count) {(内容)}
这样大家还是很模糊,那么来一个完整的layui表格如何添加单元格的图标,就以我上面的表格为例。
首先要初始化layui表格,然后使用done回调函数:
var RelevanceSupplierList;
layui.use(['layer', 'table'], function () {
var layer = layui.layer;
var layuiTable = layui.table;
RelevanceSupplierList = layuiTable.render({
elem: '#RelevanceSupplierList',
//url: "RelevanceSuppList", //查询表格数据的路径(方法名)
cols: [[//表头
{ field: "SupplierID", title: "SupplierID", hide: true },
{ field: "SupplierName", title: "供应商名称", width: 198, align: "center", style: 'color:#1890ff' },
{ field: "SupplierNum", title: "供应商编号", width: 184, align: "center", style: 'color:#1890ff' },
{ field: "SupplierTypeName", title: "供应商分类", width: 182, align: "center", style: 'color:#1890ff' },
{ title: "操作", templet: setOperate1, width: 130, align: "center" }
]],
done: function (data, curr, count) { //回调函数
//添加图片到表格中所有的第二个单元格里面
$('td:nth-child(2)').css({ 'font-size': '12px', 'border-right': '1px solid #CCC', 'background': 'url("../../../../images/123.png") no-repeat', 'background-position': '113px 12px', 'background-size': '30px 14px' });
}
});
});
写法就如此的简单,其实还可以在done里面设置表格及单元格的样式。
第一张图片也不是最原始的layui表格的样式,下图是还没有设置done的时候的表格:
然后通过done改变了表格的样式,就变成第一张图片的样子了,
写法:
done: function (data, curr, count) {
//设置了表格的边框,宽度和位置
supplierList = $("[lay-id='RelevanceSupplierList']").css({ 'margin-left': '114px', 'border': '1px solid #CCC', 'width': '700px' });
//设置了表头行的字体加粗和大小,右边框的样式
$('th').css({ 'font-weight': 'bold', 'font-size': '13px', 'border-right': '1px solid #CCC' });
//添加图片到表格中所有的第二个单元格里面
$('td:nth-child(2)').css({ 'font-size': '12px', 'border-right': '1px solid #CCC', 'background': 'url("../../../../images/123.png") no-repeat', 'background-position': '113px 12px', 'background-size': '30px 14px' });
//设置了单元格的字体大小,边框的样式
$('td').css({ 'font-size': '12px', 'border-right': '1px solid #CCC', 'border-top': '1px solid #CCC' });
}
Layui表格的回调函数还是挺受用的,帮助很大。