layui扩展的树形表格treetable

2023-12-05前端开发
796

layui开发时,遇到要求做成这样的树形表格的需求。这里我们要用到layui的第三方控件treetable,最终实现效果如下图所示:


引入控件:
layui.config({
    base: '/js/'           //直接在项目中引用
}).extend({
    treetable: 'treetable/treetable',
    ztree: 'ztree/ztree-object',
    ax: 'ax/ax',
}).use(['ztree', 'treetable', 'table','form'], function(){
     var $zTree = layui.ztree;
     var treetable = layui.treetable;
     var table = layui.table;
     var form = layui.form;
然后初始化表格,这里和layui是一样的:
 /**
      * 初始化表格的列
      */
     Dept.initColumn = function () {
         return [[
             {type: 'checkbox', fixed: 'left'},
             { field: 'id', hide: true,title: 'ID'},
             { field: 'name', title: '部门名称', minWidth: 200},
             { field: 'code', title: '部门编号'},
             { field: 'pcode', title: '父级权限编号'},
             {field: 'remark', title: '备注', sort: true}
         ]];
     };
Dept.initTable = function () {
        return treetable.render({
            elem: '#' +tableid,//表格id
            url: '/appconfig/dept/list',//数据接口
            /*
                        page: false,
            */
            height: "full-158",
            cellMinWidth: 100,
            cols: Dept.initColumn(),//调用上面初始化的表格
            treeColIndex: 2,      //下拉图标出现的列数,这里是第2列
            treeSpid: 0,          //最上级的父级编号,这个是自定义的,但是必须和你数据库中一致
            treeIdName: 'code',   //子表格的编号
            treePidName: 'pcode', //子表格父级编号
            treeDefaultClose: false,
            treeLinkage: true,
            where : {
                type : 0,
                key : ""
            }
        });
    };

这样其实就已经可以实现下拉表格了。但是这里需要对数据库表的字段做一下说明:




子表格的pcode必须是父级的code。

The End
layui treetable

相关推荐

layui实现图片上传成功后回显点击放大图片功能
layui实现图片上传成功后回显点击放大图片功能,html代码部分: !-- html代码--div class="layui-form-item" label class="layui-form-label"上传图片/label div class="layui-input-block" button type="button" class="layui-btn" id="license-auth-letter-...
2025-09-06 前端开发
202

Layui实现数据表格中鼠标悬停图片放大离开时恢复原图
Layui实现数据表格中鼠标悬停图片放大离开时恢复原图的效果,最终效果如下图所示: 实现代码如下,在done函数中调用hoverOpenImg方法 var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '/postData', //width : 150...
2025-09-04 前端开发
112

layui点击文本输入框调起弹出选择框并选择内容的两种方法参考
我们在用到layui时候,需要点击文本输入框调起弹出选择框并选择内容,这个要怎么操作呢?以下两种方法可以参考: 1、点击名称,弹出信息弹框,选择表格中的某一行,实现效果如下: html页面代码 !--计量器具弹出层-- div id="equipment" lay-filter="equipmen...
2025-09-02 前端开发
167

Layui treetable复选框联动解决方案
我们都知道layui treetable.js没有checked做联动。我们要实现Layui treetable复选框联动要怎么操作呢?实现的最终效果如下: 1. 在当前HTML文档checked监听函数中增加以下代码: //联动 table.on('checkbox(quan_list)', function(obj){ //console.log(obj);...
2025-06-06 前端开发
163

Layui中实现开关按钮的效果
按钮代码如下: {field: 'state', title: '状态', width: 85, templet: function (data) { if (data.state == 0) { return 'div input type="checkbox" checked="" name="codeSwitch" lay-skin="switch" id="open" lay-filter="switchTest" switchId=' + data...
2025-04-13 前端开发
112

layui.open属性打开一个弹出层
核心方法 var index = layer.open({ type : 2, title : title, maxmin : true, offset: '100px', area : [ '600px', '500px' ], content : prefix + url// iframe的url }); layer.full(index); //最小化 type - 基本层类 类型:Number,默认:0 layer提供了5...
2025-02-25 前端开发
82