1

我使用Angular UI Tree作为文件系统的 UI。我希望能够将项目放入文件夹而不是文件中,因此树中的所有项目都有一个类型属性,其值为“文件”或“文件夹”。

如何检查此属性并根据值允许或禁止放入项目?我尝试在接受回调中添加检查。sourceNodeScope 为我提供了我正在移动的节点的类型,sourceNodeScope.$modelValue.typedestNodesScope.$modelValue似乎在我正在移动的项目和目的地之间交替。当它是目的地时,它是树中该级别的所有节点的数组。

accept: function(sourceNodeScope, destNodesScope, destIndex) {

});
4

1 回答 1

0

这可以使用 beforeDrop 方法而不是接受来实现。事件上的 dest 可用于检查目的地,如果允许放置,则应返回 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
  }
}
于 2018-09-28T11:47:01.910 回答