p:树ajax加载节点不显示展开图标

时间:2013-11-07 19:31:12

标签: ajax jsf primefaces tree

我正在尝试ajax加载p:tree组件。这个想法是模仿Windows文件系统的树。当我单击节点的展开图标时,我调用一个服务,该服务返回该目录节点下的目录列表。然后我简单地将这些新目录添加为已扩展的节点的子节点。我可以成功地将子节点添加到节点,但是,我需要在添加的每个新节点旁边看到展开图标。这种情况不会发生在我身上。我添加的任何子节点都没有展开图标渲染,因此我无法深入到树中。

此外,PF树组件似乎只显示节点有一个或多个子节点的展开图标。但是,就我而言,在扩展该节点之前,我不知道节点是否会有子节点。

源代码可以在PimeFaces论坛上找到,我正在打开这个问题,希望能让更多人关注它。 http://forum.primefaces.org/viewtopic.php?f=3&t=34819

1 个答案:

答案 0 :(得分:0)

我已经设法找到了解决方法。

每当我在树上的任何地方添加新节点时,都会向其添加一个“虚拟”节点。这将确保添加的每个新节点都会在旁边显示扩展图标。现在,当单击节点上的展开图标时,支持bean将删除所有子节点并添加真实节点。

可能有更好的方法可以做到这一点,所以我愿意接受其他建议,但暂时还是可以做到这一点。