Introduction
Layui 是继 Bootstrap 后又一次成功的前端框架,依赖于 jQuery,为了更好地扩展,layui 蒸馏了很多经典的前端组件,如:表格(table)、表单(form)、弹窗(layer)、分页(paginator)、背景磁贴等常用组件。如果你正在使用layui开发,那么你一定需要更好地美化数据表格(table)。接下来我们将会利用 layui 框架并关联data表格来美化表单,让你的页面更具吸引力。
Getting started with Layui
首先,我们需要在项目中引入layui,你可以从layui官网中直接下载最新版的layui源码,或者使用CDN引入layui。
接下来,就可以开始使用layui的各种组件了。
Step 1: HTML
要创建一个 data table,我们需要在HTML中添加一个 table 元素,以及必要的数据:
<table id="demo" lay-filter="test"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getSelected">获取选中行数据</button>
<button class="layui-btn layui-btn-sm" lay-event="setCheckData">选中行数据</button>
</div>
</script>
Step 2: Javascript
接下来,我们需要使用Javascript为table添加数据,并调用Layui的表格组件渲染该table。以下是基本的Javascript代码:
layui.use('table', function(){
var table = layui.table;
table.render({
elem: '#demo', //指定原始表格元素选择器(推荐id选择器)
url: '/demo/table/user/', //数据接口
toolbar: '#toolbarDemo', //指向自定义工具栏模板选择器
title: '用户数据表', //定义导出页的标题
cols: [[ //表头
{type: 'checkbox', fixed: 'left'},
{field: 'id', title: 'ID', width: 80, fixed: 'left'},
{field: 'username', title: '用户名', width: 120},
{field: 'sex', title: '性别', width: 80, sort: true},
{field: 'city', title: '城市', width: 100},
{field: 'sign', title: '签名', width: 200},
{field: 'experience', title: '积分', width: 80, sort: true},
{field: 'ip', title: 'IP', width: 120},
{field: 'logins', title: '登录次数', width: 100, sort: true},
{field: 'joinTime', title: '加入时间', width: 120},
{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
]],
page: true //开启分页
});
});
美化Table
接下来,我们使用Layui的CSS和JS来美化我们的Table。
Step 1: CSS
.layui-table-cell {
height: auto !important;
line-height: 30px !important;
white-space: normal !important;
}
.laytable-cell-1-manage{
text-align:center;
white-space:nowrap;
}
.laytable-cell-1-username{
text-align:center;
white-space:nowrap;
}
.laytable-cell-1-state{
text-align:center;
white-space:nowrap;
}
Step 2: JS
table.render({
elem: '#test'
,height: 415
,url: '/demo/table/user/'
,cols: [[
{type:'checkbox', fixed:'left'}
,{field:'id', width:80, title: 'ID', sort: true, fixed:'left'}
,{field:'username', width:120, title: '用户名', sort: true,templet:function(d){
},style:'height:54px;'}
,{field:'state', width:80, title: '状态', sort: true,templet:function(d){
var str = d.state;
if (str ==1 ) {
return '正常';
} else {
return '冻结';
}
},style:'height:54px;'}
,{field:'sex', width:80, title: '性别', sort: true,templet:function(d){
var str = d.sex;
if (str == '0') {
return '女';
} else if (str == '1') {
return '男';
} else {
return '';
}
},style:'height:54px;'}
,{field:'sign', title: '签名' ,style:'height:54px;'}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:180}
]]
,skin: 'nob' //行边框风格
,even: true //开启隔行背景
,cellMinWidth: 110 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
,done: function(res, curr, count){
$('.layui-table-cell').each(function(){
var $this = $(this);
$this.css('height', $this.height()+20);
});
}
});
Step 3: Result
最后一步就是来看看我们精致酷炫的table了!
总结
Layui 是一款非常强大的前端框架,在美化数据表格时也是非常好用的,通过上述的教程,相信你已经学会了利用 layui 框架美化数据表格。在使用时,我们可以根据自己的需求灵活变通。