ztree 编辑的节点名称重复怎么办

ztree 编辑的节点名称重复怎么办,第1张

$.post(

"AddNode.action",

{ type: treelevel, id: pid },

function(nodeIdAndName) {

var params = /([^\|]+)\|([^\|]+)/.exec(nodeIdAndName)

/////////////////////////////////////////////////写法1///////////////////////////////////////////////////////////////////////////////////////////宴让///////

//if ((!treeNode &&event.target.tagName.toLowerCase() != "button" &&$(event.target).parents("a").length == 0) || treeNode.open){

// treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

// }

// else{

// zTree.expandNode(treeNode, true)

// treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

// }

/////////////////////////////////////////////////写法2//////////////////////////////////////////////////////////////////////////////////////////////////

//if (!((!treeNode &&event.target.tagName.toLowerCase() != "button" &&$(event.target).parents("a").length == 0) || treeNode.open)) {

//zTree.expandNode(treeNode, true)

//}

//treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

/////////////////////////////////////////////////写法3//////////////////////////////////////////////////////////////滑祥闷//////////////////////////////信弯//////

// if(!treeNode &&event.target.tagName.toLowerCase() != "button" &&$(event.target).parents("a").length == 0)

// {

//treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

// }

// else if(treeNode.open)

// {

//if(treeNode.isParent)

//{

//zTree.reAsyncChildNodes(treeNode, "refresh")

//}

//else

//{

//treeNode.isParent=true

//zTree.reAsyncChildNodes(treeNode, "refresh")

//}

// }

// else

// {

// zTree.expandNode(treeNode, true)

// treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

// }

/////////////////////////////////////////////////写法4//////////////////////////////////////////////////////////////////////////////////////////////////

//if ((!treeNode &&event.target.tagName.toLowerCase() != "button" &&$(event.target).parents("a").length == 0)){

//treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

//}

//else if(treeNode.open){

//if(!treeNode.isParent){

//treeNode.isParent=true

//}

//zTree.reAsyncChildNodes(treeNode, "refresh")

// }

//else{

//zTree.expandNode(treeNode, true)

//treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

//}

})

/*

上面四种写法都是用于zTree异步加载时添加子节点重复的问题

问题描述:

zTree树,第一次给父节点添加子节点时(该节点没有子节点时):如果父节点处于展开状态,只添加一个子节点;如果父节点处于闭合状态,会添加两个节点

问题原因:

之一,zTree v3.0 中,用 addNodes 方法添加节点时,zTree 会自动先去异步加载已有的子节点,然后再添加新的子节点。

所以,当父节点处于闭合状态(还没有子节点)时,用addNodes方法添加子节点节点后会在异步加载子节点的时候再添加一次,就出现两个一样的节点

之二,后来,即使当父节点处于展开状态(还没有子节点)时也会添加两个一模一样的子节点,是因为zTree树的节点在默认情况下都是子节点,这时给它添加

子节点会添加两个,一个是addNodes()添加的,一个是异步加载时添加的。其实这个时候只需要给它一个reAsyncChildNodes 方法强行进行异步加载即可。

其实我自己也还不是特别能理解清楚zTree的逻辑,大家可以看官网API,或者猛击这里 ,还有一个不错的地方就是百度的zTree吧

http://tieba.baidu.com/p/1548730337 这个地址里是百度贴吧 zTreeAPI大神对于我的问题给出的解答,根据他的回答,我又把代码优化了一下,这次代码就很简单而且逻辑也很清楚了

if ((!treeNode &&event.target.tagName.toLowerCase() != "button" &&$(event.target).parents("a").length == 0) || treeNode.zAsync)

treeNode = zTree.addNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel })

else

zTree.reAsyncChildNodes(treeNode, "refresh")

*/

/*很多时候程序出现问题都是代码的逻辑有问题,知道现在我终于深刻的理解到“逻辑”这个词的含义

1. 程序出现了重复输出的错误。这种情况可能是程序逻辑问题或代码错误导致的,需要开发者进耐胡灶行代码检查和调试。

2. 程序在处理数据时出现了重复数据的情况。这种情况可能是数据本身存在重复,或者程序对数据进行处理时出现了问题。需要开发者对程序处理数据的过程进昌扮行检查和调试。

3. 程序在进行循环输出时,由于某些因素导致循环次数出现了异常。这做渣种情况可能是循环变量值的问题,或者是循环控制条件的问题。需要开发者对程序的循环部分进行检查和调试。

稳定计算节点问题的可能原因有很多,包括软件、硬件、网络和 *** 作系统等多个方面的问题。

1、软则铅件问题:

(1)程序bug:节点运行的程序存在bug,导致程序出现异常,从而影响稳定计算的正常运行

(2)软件兼容性:稳定计算节点上运行的软芹丛件存在兼容性问题,导致程序运行异常或者无法正常运行。

2、硬件问题:

(1)硬件故障:节点上运行的硬件出现故障,导致稳定计算节点无法正常运行。

(2)硬件兼容性:节点上硬件存在兼容性问题,节点上的某些硬件无法正常运行,也会影响稳定计算的正常运行。

3、网络问题:

(1)网络拥堵:节点之间的网络拥堵会影响数据传输,从而影响稳定计算的正常运行。

(2)网络故障:节点间网络出现故障,也会影响稳定计算的正常运行。

4、 *** 作系统问题:

(1) *** 作系统故障: *** 作系统出现故障,会影响稳定计算节点的正常运行。

(2) *** 作系统兼容性: *** 作系统存在兼容性问题,会影响稳定计算节点的正常运行。

以嫌盯樱上是稳定计算节点出现问题的主要原因,要解决这些问题,首先要找出问题的根源,然后采取有效的解决措施,以保证稳定计算的正常运行。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12379460.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存