本文章为原创文章,转载请注明出处
html
<div class="layui-btn-group tableBtn">
<button class="layui-btn" data-type="add">添加</button>
</div>
<table class="layui-table" id="tableData" lay-filter="tableData"></table>
toolbar操作按钮
<script type="text/html" id="operationBtn">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
数据绑定
function initTable(){
//tableIns存储table.render()方法返回的对象,以便重载table时使用
tableIns = table.render({
elem: '#tableData' //对应table的id (table 容器的选择器或 DOM)
,url:'/UserInfo/GetData' //请求路径
,method:'post' //请求方式 ,默认get
,page:true //是否启用分页
,cellMinWidth: 50 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
,cols: [[
{type:'checkbox'}
,{field:'ID', title: 'ID',align:'center', sort: true}
,{field:'Sex', title: '性别',align:'center', sort: true,templet:function(row){//处理特殊数据自 layui 2.2.5 开始,templet 开始支持函数形式,函数返回一个参数,包含接口返回的所有字段和数据
if(row.Sex) return '男';
return '女';
}} //
,{field:'Autograph', title: '签名', minWidth: 100,align:'center'} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增
,{toolbar:'#operationBtn',title:'操作',align:'center'} //绑定列工具条。设定后,可在每行列中出现一些自定义的操作性按钮 operationBtn对应的是上面的toolbar操作按钮
]] //设置表头
,limits:[30,60,90] //每页条数的选择项,默认 [10,20,30,40,50,60,70,80,90]
,limit:30 //每页显示的条数,默认:10
});
}
按钮的对应事件写法
var $ = layui.$, active = {
add: function(){ //add 是添加按钮data-type的值
//do something
}
};
//调用tableBtn对应的active事件
$('.tableBtn .layui-btn').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
操作按钮事件
//监听工具条 `table.on('event(filter)', callback);` event为内置事件名,filter为容器lay-filter设定的值
table.on('tool(tableData)', function(obj){
var data = obj.data;
//删除
if(obj.event === 'del'){
layer.confirm('确定删除吗', function(index){
//do something 点击确定时执行该处代码
});
} else if(obj.event === 'edit'){
//do something
}
});
table重载
//table重载
function reload(){
tableIns.reload();//此处的tableIns就是渲染table时的返回值
}
分页条
page:true开启分页条
页码默认参数:page
每页条数默认参数:limit
自定义配置参数
request: {
pageName: 'curr', //页码的参数名称,默认:page
limitName: 'nums' //每页数据量的参数名,默认:limit
}
自定义数据格式
response: {
statusName: 'status', //数据状态的字段名称,默认:code
statusCode: 200, //成功的状态码,默认:0
msgName: 'hint', //状态信息的字段名称,默认:msg
countName: 'total', //数据总数的字段名称,默认:count
dataName: 'rows', //数据列表的字段名称,默认:data
}
自定义后台返回数据格式(上述)
{
status: 200,
hint: "",
total: 1000,
rows: []
}
默认接受数据格式
{
code: 0,
msg: "",
count: 1000,
data: []
}
更多table操作请参考 http://www.layui.com/doc/modules/table.html
来源:oschina
链接:https://my.oschina.net/u/4403469/blog/3939836