0

我有一个 JsonRestStore + ForestStoreModel 树,它工作正常,但是当我尝试使用 tree.set('paths', ...) 函数直接访问节点时它不起作用。

请在这里参考这个小例子:http ://wasmonitor.com/dojotree.html

如果单击该按钮,它应该展开 Web Servers 并选择 web1 但它没有...这是我的问题。

我的树是无根的,我知道 ForestStoreModel 在未指定时默认 rootId 为 $root$。所以我正在尝试使用以下代码访问节点:

    var stree = dijit.byId("statTree");
    stree.set("paths",  [ "$root$", "WebServers", "web1" ]);

但它永远不会打开。

已经阅读了这个问题:diji.Tree + JsonRestStore - 使用类似的 tree.set("path" 以编程方式选择节点,但它对我不起作用......

有什么提示吗?

谢谢 !

理查德

4

1 回答 1

0

发现路径和路径设置完全不同。path 接受单个路径作为数组,paths 接受数组数组。此外,我依赖 $root$ 作为默认 rootId,但为了使其正常工作,我必须在 ForestStoreModel 声明中指定 rootId。之后,正确的语法是:

    var stree = dijit.byId("statTree");
    stree.set("path",  [ "statTree", "WebServers", "web1" ]);

或者

    var stree = dijit.byId("statTree");
    stree.set("paths",  [[ "statTree", "WebServers", "web1" ]]);

感谢 Sam 通过电子邮件向我指出这一点!

于 2013-07-29T18:49:30.613 回答