我正在使用Angular UI Tree作为文件系统的UI。我希望能够将项目放入文件夹而不是文件,因此树中的所有项目都具有值为“file”或“folder”的type属性。
如何检查此属性并根据值允许或禁止项目被删除?我已经尝试在接受回调中添加一个检查。 sourceNodeScope给出了我在sourceNodeScope.$modelValue.type
中移动的节点的类型,但destNodesScope.$modelValue
似乎在我正在移动的项目和目的地之间交替。当它是目的地时,它是树中该级别所有节点的数组。
accept: function(sourceNodeScope, destNodesScope, destIndex) {
});
答案 0 :(得分:0)
这可以使用beforeDrop方法而不是接受来实现。事件上的目标可用于检查目的地,如果允许放置,则应返回true。
$scope.treeOptions = {
beforeDrop: function (e) {
var destValue = e.dest.nodesScope.node ? e.dest.nodesScope.node.type : undefined
if (destValue === 'file') {
return false
}
return true
}
}