拖动后,是否有可能不从原始PrimeFacesTree中删除节点?默认行为是删除在另一个位置拖放的节点。我可以阻止这种情况发生吗?
我正在使用Primefaces 4.0
答案 0 :(得分:1)
在dropEvent上没有复制节点的任何premade属性。
解决方案是为您的<p:tree>
元素添加一个监听器:
<p:tree listener="#{managingBean.onDragDrop}" />
然后,您需要在backbean方法中重复创建初始位置上的节点:
public void onDragDrop(TreeDragDropEvent event) {
TreeNode dragNode = event.getDragNode();
TreeNode dropNode = event.getDropNode();
int dropIndex = event.getDropIndex();
// Logic to repopulate initial Tree element
}
别忘了重新画树