level 6
我在做search 功能时,采用的是hidden 掉未匹配的,并把父节点显示,当我搜索结束后,界面上已经得到我想要的结果了,我这时拖动了节点的数据,将node1 (只包含一个匹配的)拖动到node2下面,我在下次search之前为了保存我在前一次search时做的drag结果,做了一次重新加载数据,通过geNodes(),toTransArray(),重新遍历节点 znodes 纯净的在nodes,对ztree .init 使用刚才drag 之后,遍历的znodes,发现有重复的节点,拖动父节点,有时也会在遍历后加载出现重复数据,很是纠结,我将界面数据hidden之后,做的节点拖动,在第2次搜索之前重新得到node(纯净版,没有hidden其他属性)的加载,为什么还是会出现重复数据
2012年09月19日 16点09分
1
level 6
树哥,赶紧回来解释下,我得到纯净的nodes数据怎么加载时候还是会有重复数据出现,为什么search用hidden,是因为用户这时候,点击的了保存,我可以将allnodes通过json传到servlet,并没有破话ztree的结构,因为我只是隐藏未查到的,但是就是在第2次search的时候,我要重新加载用户最近的树的节点状况,重新加载,但是在遍历之后,加载出现了重复数据,请帮忙啊,我很纳闷,难道drag的时候,数据有整2份出来,就是search到得父节点(A)下面只有一条数据,我将它拖动到其他节点下面(B),这时候再搜索(加载最新的),发现B下面多了一条我们刚才拖动的数据,请问,是什么原因,是bug吗
2012年09月19日 16点09分
2
level 6
自己在hiden之后拖拽,然后遍历节点,数据重复,我们自己解决了,把重复的json数据去掉就行了。你们可以测试下,在hiden之后drag,然后初始化遍历上次的节点,发现有重复的。
2012年09月20日 19点09分
3
level 11
你是不是用了什么异步加载之类的? 导致了一方面前台节点拖拽,同时后台又进行了数据存储,然后前台拖拽后数据进行了刷新?
2012年09月25日 01点09分
4
只是search,没有查到隐藏掉,然后前台的拖拽,拖拽完成后,清空查询条件,第2次查询之前,初始化ztree,遍历通过tansfromToArray(getNodes),$.each()获取纯净的nodes,直接使用,出现了重复node,没办法,最后将重复的node去掉了,
2012年09月25日 07点09分
回复 appweio :重新初始化,是为了保存上次用户拖拽或者增删节点的操作,因为只是hidden,所以节点顺序是正常的
2012年09月25日 07点09分
回复 appweio :这就正常了,为何你要把查询到的节点还要用 transformToArray 处理一遍? 要知道这个是利用递归把每个父节点的全部子孙节点都返回到 数组中的。
2012年09月26日 14点09分
回复 zTreeAPI :我没有遍历children属性,只是部分重复,就是我drag的节点会重复,其他的节点正常
2012年09月27日 02点09分