因为在教程的布局的使用一节使用的例子就是这里的tree布局,这里先对那里已经说明的部分简单说明一下,然后补充一些内容那里没有涉及的部分。
var tree=$$.treeLayout()
// 获取根结点的方法
.root(function(initTree){
//需要返回树的根结点
})
// 获取子结点的方法
.child(function(parentTree, initTree){
//需要返回parentTree的子结点集合
})
// 获取结点ID方法
.id(function(treedata){
//需要返回当前结点treedata的id
});
首先,我们需要获取树布局对象,然后配置三个基本方法,正是因为这三个基本方法的存在,原始数据结构理论上讲,只要是一个数组即可。
接着,传递原始数据,就可以获取计算后的结果了:
var result=tree(nodes);
返回结果如下:
{
"node": Array,
"root": any,
"size": number,
"deep":number
}
其中node表示所有的树结点,记录着结点位置,使用教程中的例子:
[
"油画":{
children: [];
data: (2) ["油画", "手绘"];
id: "油画";
left: 1.5;
pid: "手绘";
show: true;
top: 1.5
},
...
]
root表示根结点id,size表示树在Y轴方向占高尺寸,和top对应,deep表示有多少层。