Я настраиваю реализацию перетаскивания с помощью 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, {
Из документации: Возвращение ложной к этому событию сигнализирует, что падение жест был недействительным, и если сопротивление прокси будет анимировать назад к той точке, с которой сопротивление начал. Возврат 0 К этому событию сигнализирует о том, что операция передачи данных не должна выполняться, но этот жест был действительным и что операция восстановления не должна выполняться. Любое другое возвращаемое значение продолжается с помощью операции передачи данных. – Bbb
Если я вернусь 0, я не получу ошибку. Тем не менее, возврат 0 не работает, как говорят документы, он передает данные, и в некотором роде я не хочу ... – Bbb
Каков наилучший способ обойти это, поскольку похоже, что документы неверны? – Bbb