Layui树节点添加level属性
目的
使用layui的树结构时候,有时候需要获取点击的节点的等级时,可以在data加载前给每个节点添加level属性。
实现
代码如下:
// 递归函数,为每个节点添加层级信息
function addLevel(nodes, level) {
nodes.forEach(function(node) {
node.level = level; // 设置当前节点的层级信息
if (node.children && node.children.length > 0) { // 如果存在子节点,则递归计算子节点的层级信息
addLevel(node.children, level + 1); // 层级加1后递归调用自身处理子节点列表
} else { // 如果不存在子节点,则层级保持不变或设置为某个默认值(根据需求)
node.level = level; // 或者不设置,默认为顶级节点的层级(此处仅为示例)
}
});
}
//treeData为后端封装好的layui的树的data数据
addLevel(treeData, 1);
treeInstance = tree.render({
elem: '#test-tree-demo'
, data: treeData
, onlyIconControl: true //是否仅允许节点左侧图标控制展开收缩
, edit: ['add', 'update', 'del']
, click: function (obj) {
console.log(obj.data.level);