我正在为我的应用进行延迟加载。我希望节点仅将用户单击加载到其图标。关键是我不知道节点是否有孩子。我的临时解决方案是定义一个有孩子的节点,然后根据选择事件加载他们,我不使用树将事件扩展为延迟加载。我有什么方法可以仅实现treeWillExpand事件。您可以在TreeWillExpanListener和TreeExpandEventDemo2中引用。
// Have a tree with some unexpanded root items
// When an item is expanded, add some children
tree.addListener(new Tree.ExpandListener() {
public void nodeExpand(ExpandEvent event) {
// No children for the first node
if (!hasChildren(event.getItemId())) {
tree.setChildrenAllowed(event.getItemId(), false);
} else {
// Add a few new child nodes to the expanded node
tree.addItem(childId);
tree.setParent(childId, event.getItemId());
}
}
});
您可以实现hasChildren以根据正在扩展的树节点找到子项,然后找到子项并添加