В моем приложении у меня есть два экземпляра fancytree бок о бок с различным содержимым. tree1
не может быть изменен каким-либо образом и служит только для копирования его узлов в tree2
с помощью перетаскивания & drop (расширение dnd
).Fancytree: вручную восстановить ключ, чтобы избежать дубликатов
В dragDrop:
случае tree2
у меня есть что-то похожее на:
if(data.otherNode.tree === node.tree){
data.otherNode.moveTo(node, data.hitMode);
}
else{
data.otherNode.copyTo(node, data.hitMode);
}
Вопрос заключается в том, что, когда я использую copyTo()
ключ узла также копируется, и если я копирую тот же узел несколько раз в течение tree2
I неизбежно заканчиваются дублирующимися ключами. Я знаю, что fancytree может автоматически назначать недвойственные ключи (например, если исходный json для вашего дерева не имеет ключевого значения), но я не знаю, как это сделать в этой ситуации.
Или «удалить n.key», который будет восстанавливать ключ. – mar10
Установка 'n.key = null;' будет генерировать новый ключ. –