layui插件treetable与treeSelect的使用---随笔

treetable简单使用效果图展示

在这里插入图片描述

treeSelect使用效果图展示

在这里插入图片描述

首先引入插件所需的依赖

在这里插入图片描述

#具体地址根据实际情况而定
 <link rel="stylesheet" type="text/css" href="../../static/integration/layui/css/layui.css"
    th:href="@{/integration/layui/css/layui.css}">
<script type="application/javascript" src="../../static/integration/layui/layui.js"
	th:src="@{/integration/layui/layui.js}"></script>
	
	
layui.config({
    base : '/integration/layui/'
}).extend({
    treetable : '/treetable-lay/treetable',
    treeSelect : '/treeSelect/treeSelect'
})
treetable的使用
<table class="layui-hide" id = "treeTable" lay-filter="treeTable"></table>

var selectMenuData;
layui.use(['treetable', 'table', 'layer'], function () {
    var $ = layui.jquery;
    var table = layui.table;
    var layer = layui.layer;
    var treetable = layui.treetable;

    //渲染表格
    var renderTable = function () {
        layer.load(2);  //加载层
        treetable.render({
            height: 'full-160',
            id: 'treeTable',
            treeColIndex: 1,	//树形图标显示在第几列
            treeSpid: '0',		//最上级的父级id
            treeIdName: 'id',	//id字段的名称
            treePidName: 'parentId',	//父级节点字段
            treeDefaultClose: true,	//是否默认折叠
            treeLinkage: false,		//父级展开时是否自动展开所有子级
            elem: '#treeTable',	//表格id
            url: '/menu/list',
            toolbar: '#toolbarDemo',
            page: false,
            cols: [[
                {type: 'radio'},
                {field: 'name', title: '菜单名称'},
                {field: 'url', title: '地址'},
                //, hide : true
                {
                    field: 'icon', title: '图标',
                    templet: function (item) {
                        return item.icon == null ? '' : '<i class="' + item.icon + ' fa-lg"></i>';
                    }
                },
                {
                    field: 'type', title: '类型',
                    templet: function (item) {
                        if (item.type === 'C') {
                            return '<span class="label label-primary">目录</span>';
                        }
                        if (item.type === 'M') {
                            return '<span class="label label-success">菜单</span>';
                        }
                        if (item.type === 'B') {
                            return '<span class="label label-warning">按钮</span>';
                        }
                    }
                },
                {field: 'orderNum', title: '排序'},
                {field: 'authorization', title: '授权标识'}
            ]],
            //数据渲染完的回调
            done: function () {
                //关闭加载
                layer.closeAll('loading');
            }
        })
    };
    renderTable();

    table.on('radio(treeTable)', function (obj) {
        //查看obj结构
        // console.log(obj);
        //是否选中,选中为true
        // console.log(obj.checked);
        //选中行的数据
        selectMenuData = obj.data;
    });
})

treeSelect的使用
<input type="text" class="form-control" style="cursor:pointer;" id="tree-select" lay-filter="tree"/>

//刷新节点
var refreshTreeSelect;
//选中节点
var selectTree;
layui.use(["treeSelect", "form", "tree"], function () {
    var form = layui.form;
    var tree = layui.tree;
    var treeSelect = layui.treeSelect;
    treeSelect.render({
        // 选择器
        elem: '#tree-select',
        // 异步获取下拉树需要显示的数据
        data: '/menu/treeSelect',
        // 异步加载方式:get/post,默认get
        type: 'post',
        // 占位符
        placeholder: '请选择菜单',
        // 是否开启搜索功能:true/false,默认false
        search: true,
        // 一些可定制的样式
        style: {
            folder: {
                enable: true
            },
            line: {
                enable: true
            }
        },
        // 点击节点回调
        click: function(d){
            // console.log(d);
            // console.log(d.treeId); // 得到组件的id
            $("#parentId").val(d.current.id);
            // console.log(d.current); // 得到点击节点的treeObj对象
            // console.log(d.data); // 得到组成树的数
        },
        // 加载完成后的回调函数
        success: function (res) {
            // console.log(res);
            // console.log(res.treeId); // 得到组件的id
            // console.log(res.data); // 得到组成树的数据
            // // 选中节点,根据id筛选,一般修改时会有默认选中状态,可以在这里设置
            // treeSelect.checkNode(res.data[0], 3);
            // console.log($('#tree').val());
            // //获取zTree对象,可以调用zTree方法
            // var treeObj = treeSelect.zTree('tree');
            // console.log(treeObj);
            // //刷新树结构
            treeSelect.refresh('tree');
        }
    });

    refreshTreeSelect = function () {
        treeSelect.refresh('tree');
    }

    selectTree = function (id) {
        treeSelect.checkNode('tree', id);
    }
});
相关工具包

treetable
treeSelect

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 layui使用 treeTable 进行展开和隐藏,你需要做以下几步: 1. 在 HTML 中定义一个 table 元素,并为其添加一个 id 属性,例如:`<table id="demo"></table>` 2. 引入 layuitreeTable 模块:`<script src="layui.js"></script><script src="layui_exts/treeTable.js"></script>` 3. 初始化 treeTable,指定数据源和一些配置项: ```javascript layui.use(['treeTable'], function(){ var treeTable = layui.treeTable; var demoTable = treeTable.render({ elem: '#demo', url: '/api/data', treeIdName: 'id', treePidName: 'pid', treeDefaultClose: true, treeLinkage: false, cols: [[ {field: 'name', title: '名称'}, {field: 'type', title: '类型'}, {field: 'size', title: '大小'}, {field: 'time', title: '修改时间'} ]] }); }); ``` 其中,`elem` 指定 table 元素的 id,`url` 指定数据源的接口地址,`treeIdName` 和 `treePidName` 分别指定数据源中节点的 id 和父节点的 id 字段名,`treeDefaultClose` 指定是否默认关闭所有节点,`treeLinkage` 指定是否开启联动选中等级效果,`cols` 指定表格的列配置。 4. 在数据源接口中返回数据,数据的格式类似于: ```json { "code": 0, "msg": "", "count": 1000, "data": [{ "id": "1", "pid": "0", "name": "文件夹1", "type": "folder", "size": "", "time": "2022-01-01 00:00:00" }, { "id": "2", "pid": "1", "name": "文件1", "type": "file", "size": "100KB", "time": "2022-01-01 00:00:01" }, { "id": "3", "pid": "1", "name": "文件夹2", "type": "folder", "size": "", "time": "2022-01-01 00:00:02" }, { "id": "4", "pid": "3", "name": "文件2", "type": "file", "size": "200KB", "time": "2022-01-01 00:00:03" }] } ``` 其中,`id` 和 `pid` 分别指定节点的 id 和父节点的 id,`name` 指定节点的名称,`type` 指定节点的类型,`size` 指定节点的大小,`time` 指定节点的时间。 这样就可以在 layui使用 treeTable 进行展开和隐藏了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值