js用layui实现三层树结构点击树每一层节点显示的表格内容都不一样的代码
时间: 2024-02-21 07:58:14 浏览: 19
可以参考以下代码:
HTML部分:
```
<div class="layui-col-md3 layui-col-sm4 layui-tree">
<ul id="tree"></ul>
</div>
<div class="layui-col-md9 layui-col-sm8">
<table id="table" lay-filter="table"></table>
</div>
```
JavaScript部分:
```
layui.use(['tree', 'table'], function(){
var tree = layui.tree,
table = layui.table;
// 渲染树形结构
tree.render({
elem: '#tree',
data: [{
title: '一级节点1',
id: 1,
children: [{
title: '二级节点1-1',
id: 11,
children: [{
title: '三级节点1-1-1',
id: 111
},{
title: '三级节点1-1-2',
id: 112
}]
},{
title: '二级节点1-2',
id: 12,
children: [{
title: '三级节点1-2-1',
id: 121
},{
title: '三级节点1-2-2',
id: 122
}]
}]
},{
title: '一级节点2',
id: 2,
children: [{
title: '二级节点2-1',
id: 21,
children: [{
title: '三级节点2-1-1',
id: 211
},{
title: '三级节点2-1-2',
id: 212
}]
},{
title: '二级节点2-2',
id: 22,
children: [{
title: '三级节点2-2-1',
id: 221
},{
title: '三级节点2-2-2',
id: 222
}]
}]
}],
click: function(node){
// 点击树节点,展示对应的表格内容
if(node.id === 111){
table.render({
elem: '#table',
cols: [[
{field: 'name', title: '姓名'},
{field: 'sex', title: '性别'},
{field: 'age', title: '年龄'}
]],
data: [{
name: '张三',
sex: '男',
age: 20
},{
name: '李四',
sex: '女',
age: 18
},{
name: '王五',
sex: '男',
age: 22
}]
});
}else if(node.id === 112){
table.render({
elem: '#table',
cols: [[
{field: 'subject', title: '科目'},
{field: 'score', title: '分数'}
]],
data: [{
subject: '语文',
score: 85
},{
subject: '数学',
score: 90
},{
subject: '英语',
score: 80
}]
});
}else if(node.id === 121){
table.render({
elem: '#table',
cols: [[
{field: 'date', title: '日期'},
{field: 'income', title: '收入'},
{field: 'expenditure', title: '支出'}
]],
data: [{
date: '2022-01-01',
income: 10000,
expenditure: 8000
},{
date: '2022-01-02',
income: 12000,
expenditure: 10000
},{
date: '2022-01-03',
income: 15000,
expenditure: 12000
}]
});
}else if(node.id === 122){
table.render({
elem: '#table',
cols: [[
{field: 'color', title: '颜色'},
{field: 'price', title: '价格'}
]],
data: [{
color: '红色',
price: 500
},{
color: '蓝色',
price: 600
},{
color: '绿色',
price: 700
}]
});
}else{
// 其他节点的内容
}
}
});
});
```
这段代码使用了 layui 的 tree 模块和 table 模块,通过树节点的点击事件来显示对应的表格内容。需要根据实际情况修改节点的数据和表格的数据。