2017-07-27 116 views
1

我正在使用primeng p-tree组件,我想禁止某些节点类型在另一个节点类型中放置。使用primeng p-tree组件停止节点丢弃事件

例如我有节点与类型文件夹和另一个节点类型文件,我只希望类型文件的节点移动类型文件夹的节点内。我想禁止在另一个文件夹节点内移动文件夹节点。 (和其他规则

<p-tree [value]="filesTree7" draggableNodes="true" droppableNodes="true" dragdropScope="files" selectionMode="single" [(selection)]="selectedFile2" [contextMenu]="cm" (contextmenu)="onContextMenu($event)" 
      (onNodeDrop)="onNodeDrop($event)"></p-tree> 

我试图阻止下落像这样的传播:

onNodeDrop(event) { 
    console.log("onNodeDrop"); 
    event.originalEvent.stopPropagation(); 
    event.originalEvent.preventDefault(); 
    return; 
} 

,但它不工作

当我看看这里primeng代码:primeng tree component code source看来onNodeDrop事件发出的太晚了。

你有什么想法我怎么能实现我所需要的?

+0

错误标记......阅读所有的说明和纠正标签 – Kukeltje

+0

我更正了一个谢谢 – toregua

+0

我现在面临同样的问题。你解决了这个问题吗? – mottosson

回答

0

如果你想要的是一个单一的节点不是可放开或拖动您必须设置PARAMS拖动/可弃阵:

{ 
    "label": "Note e Commenti", 
    "icon": "fa-file-word-o", 
    "draggable":false, 
    "droppable":false, 
    "data": { 
     "id": 1, 
     "nome": "Note e Commenti", 
     "testo": "Note e Commenti", 
     "idCategoria": 2, 
     "idTipologia": 1 
    } 
},