最近在研究tree grid ,对tree有些了解,所以写了一些想法。
首先ajax请求加载,这个时候只取出第一层root层的数据,js根据规则渲染生成dom,输出。这样在特定的表格或者div中出现了树的结构,而且每层树的前面要有打开或者关闭的图片,这个在生成的时候已经判断完,如果是新ajax请求,这时候应该是关闭的,等待用户去点击。
当用户点击这个打开/关闭的图片的时候,触发事件。此时需要首先判断打开还是关闭。如果是打开则执行关闭,关闭依据:将此行的id和下一行到最后的id进行比较 indexOf()方法 返回值 0 , -1,如果存在相等的字符串,证明是子集,然后执行关闭,将display设置为none;如果是关闭则执行打开,
打开依据:首先判断下一行为不为空 nextnode !=null(此时说明下一行有数据) or nextnode==null (此时说明下一行没有数据,也就是表格的最后一行)
if(nextnode !=null){//下一行有数据
//不需要执行ajax,直接将dom遍历(在id中存在一样的情况下,也就是当前的子集) 展开
}else{//下一行没有数据 最后一行
if(indexOf==0){
//下一行是否相等 之前取出过之后关闭的子集
//不需要ajax请求
}else{
//此时下一行元素不是当前行的子集
//ajax请求
}
}
时间: 2024-11-05 12:26:05