在Extendscript中动态添加节点后,Treeview是collapsig

时间:2019-05-03 15:51:31

标签: javascript extendscript

我有一个树状视图和一个按钮。单击该按钮时,会将一个项目添加到树视图中:

function addItem(container, item)
{   
    var parent = container || this.tree; //'this' is pointing to an object, not to the button

    //Replace item by node
    if(parent.type == 'item')
    {
        var ancestor = parent.parent;
        var name = parent.text;
        ancestor.remove(this.tree.selection);
        parent = ancestor.add('node', name);
    }

    var node = parent.add(item.type, item.text);
    node.expanded = item.expanded;
    node.selected = item.selected;
    //this.expandParentNodes(node); <---Implementation below
}

项目已创建,但是树在创建后会折叠所有节点,因此我实现了此功能并在addItem的末尾调用:

function expandParentNodes(item) {
    if(item.parent != this.tree)
    {
        item.parent.expanded = true;
        this.expandParentNodes(item.parent)
    }  
} 

在第二次调用addItem之后,被替换节点的祖先崩溃。其余节点(孩子和祖先)仍在扩展。谁能弄清楚为什么会这样,还是有人知道解决此问题的方法? (我在Windows上工作)

0 个答案:

没有答案