好用的TreeTable插件

所属分类:UI,导航-图表,文件树

 67304  437  查看评论 (16)
分享到微信朋友圈
X
好用的TreeTable插件 ie兼容8

注:加载了外部json数据文件,本地预览会有跨域问题,需要在服务端运行。

treetable-lay

实现layui的树形表格treeTable

1.简介

在layui数据表格之上进行扩展实现。

2.使用方法

2.1.引入模块

下载module/treetable-lay整个文件夹,放在你的项目里面,然后使用模块加载的方式使用:

layui.config({
    base: 'module/'
}).extend({
    treetable: 'treetable-lay/treetable'
}).use(['treetable'], function () {
    var treetable = layui.treetable;
    
});

2.2.渲染表格

<table id="table1" class="layui-table" lay-filter="table1"></table>
<script>
layui.use(['treetable'], function () {
    var treetable = layui.treetable;
    
    // 渲染表格
    treetable.render({
        treeColIndex: 2,          // treetable新增参数
        treeSpid: -1,             // treetable新增参数
        treeIdName: 'd_id',       // treetable新增参数
        treePidName: 'd_pid',     // treetable新增参数
        treeDefaultClose: true,   // treetable新增参数
        treeLinkage: true,        // treetable新增参数
        elem: '#table1',
        url: 'json/data1.json',
        cols: [[
            {type: 'numbers'},
            {field: 'id', title: 'id'},
            {field: 'name', title: 'name'},
            {field: 'sex', title: 'sex'},
            {field: 'pid', title: 'pid'},
        ]]
    });
});
</script>

注意:

可以使用url传递数据,也可以使用data传递数据,如果使用url传递数据,参数是where字段, 跟layui数据表格的使用方式一致。

数据格式

总而言之就是以id、pid的形式,不是以subMenus的形式,当然id、pid这两个字段的名称可以自定义:

{
  "code": 0,
  "msg": "ok",
  "data": [{
      "id": 1,
      "name": "xx",
      "sex": "male",
      "pid": -1
    },{
      "id": 2,
      "name": "xx",
      "sex": "male",
      "pid": 1
    }
  ]
}

2.3.参数说明

layui数据表格的所有参数都可以用,除此之外treetable新增的参数有:

参数类型是否必填描述
treeColIndexint树形图标显示在第几列
treeSpidobject最上级的父级id
treeIdNamestringid字段的名称
treePidNamestringpid字段的名称
treeDefaultCloseboolean是否默认折叠
treeLinkageboolean父级展开时是否自动展开所有子级

treeColIndex

树形图标(箭头和文件夹、文件的图标)显示在第几列, 索引值是cols数组的下标。

treeSpid

最上级的父级id,比如你可以规定pid为0或-1的是最顶级的目录。

treeIdName

treetable是以id和pid字段来渲染树形结构的,如果你的数据没有id和pid字段,你可以指定id和pid字段的名称。

treePidName

pid在你的数据字段中的名称。

treeDefaultClose

默认是全部展开的,如果需要默认全部关闭,加上treeDefaultClose:true即可。

treeLinkage

父级展开时是否自动展开所有子级

2.4.注意事项

  • 不能使用分页功能,即使写了page:true,也会忽略该参数。

  • 不能使用排序功能,不要开启排序功能。

  • table.reload()不能实现刷新,请参考demo的刷新。

  • 除了文档上写的treetable.xxx的方法之外,其他数据表格的方法都使用table.xxx。

  • 建议删除和修改请求完后台之后请刷新(重新渲染)表格,最好不要使用obj.delete方式删除。

2.5.其他方法

全部展开

treetable.expandAll('#table1');

全部折叠

treetable.foldAll('#table1');

2.6.如何修改图标

通过css来修改图标,content是图标的unicode字符。

修改文件夹图标:

/** 未展开 */
.treeTable-icon .layui-icon-layer:before {
    content: "\e638";
}
/** 展开 */
.treeTable-icon.open .layui-icon-layer:before {
    content: "\e638";
}
?修改文件图标:
.treeTable-icon .layui-icon-file:before {
    content: "\e621";
}
?修改箭头的图标:
/** 未展开 */
.treeTable-icon .layui-icon-triangle-d:before {
    content: "\e623";
}
/** 展开 */
.treeTable-icon.open .layui-icon-triangle-d:before {
    content: "\e625";
}
相关插件-图表,文件树

jQuery表头固定

基于superTables做的改造,可以完美锁定表头和列,已经用于实际项目,还有很多改造的空间
  图表
 40173  455

jquery 表行列固定

支持表格行列固定和排序兼容所有浏览器
  图表
 63434  497

jquery甘特图实例

JQUERY甘特图实例
  图表
 53584  344

javript仪表盘插件

javript仪表盘插件,环形效果
  图表
 38257  408

讨论这个项目(16)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    々等待YOU嗳 0
    2021/9/6 22:47:45
    这个大数据会炸掉,load不出来~~ 回复
    ?佐尾戒々 0
    2021/4/28 12:22:47
    使用列固定 fixed: 'right'有问题 回复
    0
    2020/11/20 19:47:38
    我想知道每行的图标在哪设置的 回复
    极致温柔. 0
    2019/12/20 15:16:21
    从数据库应该怎么获得数据 回复
    小蚂蚁 0
    2019/12/5 12:08:28
    毕竟我不善良 0
    2019/6/6 17:33:33
    怎么加上radio单选框 回复
    MoXy 0
    2019/5/31 23:14:32
    大佬,请问一下为什么在我的IE11上面可以正常显,,-----到了我朋友的IE11浏览器就显示不出来了,一样是IE11.,还有火狐浏览器也一样显示不出来,可以告诉一下跟上面有关吗,谢谢你! 回复
    黄磊 0
    2019/4/28 15:23:35
    大佬,刷新表格如何传参啊 回复
    齿轮 0
    2019/4/25 11:53:41

    你这个插件好像有个问题,在开始运行加载后的会在<title>标签下面,会自动出现这个标签,这已经把ip给暴露了,这个能解决吗?

    <link id="layuicss-layer" rel="stylesheet" href="http://127.0.0.1:8888/xxx/xxx/assets/layui/css/modules/layer/default/layer.css?v=3.1.1" media="all">
    回复
    齿轮 0
    2019/4/25 10:28:39
    如何去除左边的索引? 回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复