簡體   English   中英

dijit.Tree:在pasteItem調用之后如何更新樹?

[英]dijit.Tree: How to update tree after pasteItem call?

我有一個文件瀏覽器樹的樹模型的自定義實現。 該樹還應該支持drag n drop,因此我將樹的pasteItem方法編寫如下:

pasteItem: function(childItem, oldParentItem, newParentItem, bCopy){
    var oldParentItemFiles = new Array();
    for(var idx in oldParentItem.files) {
        if(oldParentItem.files[idx].name != childItem.name) {
            oldParentItemFiles.push(oldParentItem.files[idx]);
        }
    }

    newParentItem.files.push(childItem);
    childItem.parent = newParentItem;
}

我調試了該函數,據我所知,變量已正確修改。 但是,該函數已正確調用並運行且沒有錯誤,並且顯示了拖放對話框,但樹未更改。

是否需要像render()方法這樣的東西?

我找到了答案:

該樹連接到模型的onChildrenChange,onChange和onDelete事件。 因此,只需使用適當的值在模型樹上調用這些方法,它將起作用。 如果您自己實施模型,請確保更改模型數據;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM