2

我有这个问题。我使用 dijit.Tree 和 dojox.data.JsonRestStore 作为数据源。所有节点都是延迟加载的。当我尝试使用 tree.set("path", [1,2]) 以编程方式选择一个节点时,我收到一条错误消息“无法在未定义处展开路径”

动态加载树结构时是否可以使用 tree.set("path"...) ?

我的代码包含 2 个文件。source.php 是数据源的实现

  1. tree.php 可在此处获得 http://jsfiddle.net/hd2MZ/2/

  2. source.php 可在此处获得 http://jsfiddle.net/6zu3d/

请帮忙 :)

4

1 回答 1

1

我看到了几个潜在的问题......

  1. 您需要从根节点开始指定所需节点的路径。
  2. 您使用的是ForestStoreModel,它在后台创建了一个根节点,因为您在初始化模型时没有指定根节点的 id,因此ForestStoreModel默认将使用'$root$'作为根节点的 id。
  3. 我相信数据存储中项目的 id 是字符串......而不是整数。

...您尝试设置路径的地方我会尝试以下操作:

tree.set("path", ['$root$', '1', '2']);
于 2012-07-17T21:06:25.503 回答