迪吉特.树设置路径并滚动到所选节点



实际上我被困住了。我正在尝试在道场树中选择节点并立即滚动到它。但我不明白如何实现这一点。

下一个代码:

this.set("path", ["root", "folder", "file"]);
this.focusNode(this.selectedNode.id);

不起作用

这个:

this.set("path", ["root", "folder", "file"]);
win.scrollIntoView(this.selectedNode.id);

有效!但前提是树的文件夹(父叶)已经打开。如果父文件夹关闭,它不起作用。

所以。。。有人可以帮助我吗?

附言这是一个非常简单的例子:http://jsfiddle.net/hjnx9/6/

我单击该按钮,想选择树中的某个节点并滚动到它。第一次,节点将被选中(但滚动不起作用)。第二次将再次选择节点,这次滚动将起作用。如何解决???

附言我认为问题是set("path",...)不会立即打开树的文件夹(动画大约需要200毫秒)。那么我可能需要某种回调吗?

set("paths", ...)返回一个承诺,因此,您的问题可以通过以下方式解决:

    //select node
    _Tree.set("path", ["root", "folder49", "file25_folder49"]).then(
      function(path) {
        // executes when set("path", ..) is complete
        var item = _Tree.model.store.data[2526];
        _Tree.onClick(item);        
      }
    );

相关内容

  • 没有找到相关文章

最新更新