Layui数据表格展开折叠

Posted zyx321

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Layui数据表格展开折叠相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link href="../Scripts/layui/css/layui.css" rel="stylesheet" />
    <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
</head>
<body>
    <table class="layui-table" id="tableOut" lay-filter="tableOut"></table>
    <script src="../Scripts/layui/layui.all.js"></script>
    <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
    <script>
        layui.use([jquery, laydate, util, layer, table, form], function ($, laydate, util, layer, table, form) {


            var tableIns = table.render({
                elem: #tableOut,

                data: [
                    {
                        id: 1, name: 小米, age: 16,
                        friend: [{ id: 2, name: 大米, age: 28 }, { id: 5, name: 小虎, age: 16 }]
                    },
                    {
                        id: 2, name: 大米, age: 28,
                        friend: [{ id: 1, name: 小米, age: 28 }]
                    },
                    { id: 3, name: 小花, age: 0 },
                    { id: 4, name: 小甲, age: 28 },
                    { id: 5, name: 小虎, age: 16 },
                    { id: 6, name: 小贤, age: 28 }],
                page: {},
                cols: [[

                    {
                        field: btn,
                        width: 50,
                        align: center,
                        templet: function (d) {
                            return <a style="width: 100%; height: 100%;cursor: pointer;" lay-event="addRowTable">+</a>
                        }
                    },
                    { field: id, title: ID, sort: true },
                    { field: name, title: 名称, edit: true },
                    { field: age, title: 年龄, sort: true }
                ]],

            });


            // 假释真的需要默认点击搜索在下面table render过之后再调用$dom.click()即可
            //监听工具条
            table.on(tool(tableOut), function (obj) { //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
                var data = obj.data; //获得当前行数据
                var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
                // 异常不要用它原来的这个作为tr的dom
                // var tr = obj.tr; //获得当前行 tr 的DOM对象
                var $this = $(this);
                var tr = $this.parents(tr);
                var trIndex = tr.data(index);
                if (layEvent === addRowTable) {
                    // 外围的table的id + tableIn_ + 当前的tr的data-index
                    $(this).attr(lay-event, fold).html(-);
                    var tableId = tableOut_tableIn_ + trIndex;
                    var _html = [
                        <tr class="table-item">,
                        <td colspan=" + tr.find(td).length + " style="padding: 6px 12px;">,
                        <table id=" + tableId + "></table>,//可以嵌套表格也可以是其他内容,如是其他内容则无须渲染该表格
                        </td>,
                        </tr>
                    ];
                    tr.after(_html.join(
));
                    // 渲染table
                    table.render({
                        elem: # + tableId,
                        data: data.friend || [],
                        cols: [[
                            { field: id, title: ID },
                            { field: name, title: 朋友姓名 },
                            { field: age, title: 年龄 }
                        ]],

                    });
                    // $(window).resize();

                } else if (layEvent === fold) {
                    $(this).attr(lay-event, addRowTable).html(+);
                    tr.next().remove();
                }
            });


        });
    </script>
</body>
</html>

 

效果如下

技术图片

以上是关于Layui数据表格展开折叠的主要内容,如果未能解决你的问题,请参考以下文章

layui垂直菜单如何单击菜单时,其他已展开的菜单自动折叠?

我们如何快速在表格视图底部添加展开和折叠单元格

如何为表格的每一行创建展开/折叠功能?角6

html5 - 如何折叠和展开复杂的表格元素

展开和折叠所有表格视图单元格

layui不用表格显示数据