jQuery MiniUI

 找回密码
 立即注册
查看: 11208|回复: 13
打印 上一主题 下一主题

tree的addNode方法问题 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2013-7-26 11:22:37 |只看该作者 |倒序浏览
本帖最后由 zuzjx 于 2013-7-26 11:32 编辑

当addNode ( node, index )是这样时,这index是什么意思呢?,貌似0和其他数字没有区别
addNode ( node, index, parentNode )。这个测试OK,但是新建时,UI上会复制父节点下的字节点到新建位置的下面

Rank: 8Rank: 8

沙发
发表于 2013-7-26 12:54:49 |只看该作者
本帖最后由 felt 于 2013-7-26 13:10 编辑

addNode(node,index,parentNode)
这个Api上描述的不好,稍后我们会修正,
应该为addNode(node,action,targetNode)和moveNode的参数类似。action可以是after,before,add,对应添加的位置。

Rank: 4

板凳
发表于 2013-7-26 13:43:18 |只看该作者
felt 发表于 2013-7-26 12:54
addNode(node,index,parentNode)
这个Api上描述的不好,稍后我们会修正,
应该为addNode(node,action,targe ...

UI上面节点复制的情况可以解决吗?

Rank: 8Rank: 8

地板
发表于 2013-7-26 13:50:06 |只看该作者
UI上面节点复制的情况可以解决吗?

没看懂,能说详细点吗

Rank: 4

5#
发表于 2013-7-26 14:20:06 |只看该作者
felt 发表于 2013-7-26 13:50
没看懂,能说详细点吗

addNode ( node, index, parentNode )。这个测试OK,但是新建时,UI上会复制父节点下的字节点到新建位置的下面

意思是当我index不为0时,我在最下面操作add时,会复制parentNode下面的所有子节点到新添加节点下面去了

Rank: 8Rank: 8

6#
发表于 2013-7-26 14:34:24 |只看该作者
addnode(node,index,parentNode)
中间参数为index的时候是给parentNode添加子节点,index表示插入子节点的位置。
我刚测试了下,0的时候是插入到parentNode下原有第一个节点的上面,1的时候是插入到原有第一个节点的下面,2的时候是插入到原有第二个节点的下面,没什么问题。。。

Rank: 4

7#
发表于 2013-7-26 14:46:10 |只看该作者
felt 发表于 2013-7-26 14:34
addnode(node,index,parentNode)
中间参数为index的时候是给parentNode添加子节点,index表示插入子节点的 ...

    var cnode = tree.getSelected();
    var node = tree.getParentNode(cnode);
    var path = "";
    var c = tree.getChildNodes(node).length;
    if (typeof cnode == "undefined") {
        mini.alert("请选择一项");
        return;
    } else {
        path = cnode.parent_path;
    }
    var newRow = {
        parent_path : path
    };
    tree.addNode(newRow, c, node);
    tree.validateRow(newRow); //加入新行,马上验证新行
我点击2这一列时,执行上面JS,想在34下面添加一行。但是下面复制了一遍
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

8#
发表于 2013-7-26 15:08:57 |只看该作者
zuzjx 发表于 2013-7-26 14:46
var cnode = tree.getSelected();
    var node = tree.getParentNode(cnode);
    var path = "";


  1. function a() {
  2.             var tree = mini.get("tree1");
  3.             var node = tree.getSelected();
  4.             var pNode = tree.getParentNode(node);
  5.             var l = tree.getChildNodes(pNode).length;

  6.             var newNode = {};

  7.             tree.addNode(newNode, l, pNode);
  8.         }
复制代码

监听的事件是onnodeclick="a",我点了3次,正确在最下面加了3个节点
没有问题,肯定是你哪里出错了,你自己调试看看,为什么把其他的节点都给加进来了

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 4

9#
发表于 2013-7-26 15:44:08 |只看该作者
本帖最后由 zuzjx 于 2013-7-26 16:28 编辑
factory 发表于 2013-7-26 15:08
监听的事件是onnodeclick="a",我点了3次,正确在最下面加了3个节点
没有问题,肯定是你哪里出错了, ...

调试的时候进入addNode方法了~~,如果不是length,而是length-1 则不会出现这个问题。
当滚动时,新增的就消失了。。

画红线的为新增的那行
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 4

10#
发表于 2013-7-26 21:34:05 |只看该作者
本帖最后由 zuzjx 于 2013-7-29 09:43 编辑
factory 发表于 2013-7-26 15:08
监听的事件是onnodeclick="a",我点了3次,正确在最下面加了3个节点
没有问题,肯定是你哪里出错了, ...

版主,你们好。问题我已经解决了。是因为treegrid加了一个属性,请问这个属性是否会有影响 属性是:virtualScroll="true"。请问怎么回事呢?

Archiver|普加软件

GMT+8, 2024-11-29 06:31 , Processed in 1.029913 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部