1
我設立一個自定義的阻力,並與treepanels,在這裏我想所有節點連接到我已在根目錄下創建一個節點拖放實現。我試圖以某種方式將一個節點從一個樹面板拖到另一個面板。我可以將物品移開,但從另一側移開時會遇到麻煩。ExtJS的4去除TreePanel中自定義拖動給錯誤節點拖動
這裏是我的代碼,這是我的TreePanel中內:
viewConfig:{
plugins:{
ptype:'treeviewdragdrop',
DDgroup:'treeDD'
},
listeners:{
beforedrop: function(node, data, dropRec, dropPosition){
if(dropRec.parentNode.data.text == "Root"){
console.log('dropping on top level');
this.up('panel').getStore().getRootNode().getChildAt(0).insertChild(0, data.records[0].data);
//the below line seems to be causing the error, how should I be removing?
choicesTree.getRootNode().getChildAt(0).removeChild(data.records[0]);
//choicesTree is previously defined
return false;
}
}
這設法刪除的項目從第一TreePanel中,但立刻提供了以下錯誤:
item is null
fly(item.firstChild).highlight(me.repairHighlightColor, {
從文檔的不同:返回false到放置操作是無效的此事件的信號,如果拖曳代理將動畫回點從該阻力開始了。 返回0,爲了使數據傳輸操作不應該發生這種事件的信號,但該手勢是有效的,並且修復操作不應該發生。 任何其他返回值都會繼續進行數據傳輸操作。 – Bbb 2012-08-17 17:07:40
如果我返回0,我不會收到錯誤。然而,返回0不工作如何文檔說,它確實傳輸數據,並以我不想要的方式... – Bbb 2012-08-17 17:08:20
解決此問題的最佳方法是什麼,因爲它看起來像文檔不正確? – Bbb 2012-08-18 18:48:26