table-layui

不打扰是莪最后的温柔 提交于 2021-02-15 07:26:19

本文章为原创文章,转载请注明出处

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!