我有一个JsonRestStore+ForestStoreModel树,它运行良好,但当我尝试使用树.set('paths',…)函数直接访问节点时,它不起作用。
请参考这里的这个小例子:http://wasmonitor.com/dojotree.html
如果你点击按钮,它应该展开Web服务器并选择web1,但它没有。。。这是我的问题。
我的树是无根的,我知道ForestStoreModel在未指定任何根的情况下具有默认的rootId$root$。所以我尝试使用以下代码访问节点:
var stree = dijit.byId("statTree");
stree.set("paths", [ "$root$", "WebServers", "web1" ]);
但它永远不会打开。
已经阅读了这个问题:diji。Tree+JsonRestStore-用Tree.set("路径")以编程方式选择节点,这很相似,但对我来说不起作用…
有什么提示吗?
谢谢!
Richard
发现路径和路径设置完全不同。path接受单个路径作为数组,path接受数组的数组。此外,我依赖$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通过电子邮件向我指出这一点!