【发布时间】:2009-10-13 12:11:22
【问题描述】:
我使用dojox.data.QueryReadStore 在扩展每个节点时动态填充dijit.Tree。当每个子 TreeNodes 创建时,我想在其上放置一个自定义属性。
如何在渲染前自动创建TreeNodes 时回调?
【问题讨论】:
我使用dojox.data.QueryReadStore 在扩展每个节点时动态填充dijit.Tree。当每个子 TreeNodes 创建时,我想在其上放置一个自定义属性。
如何在渲染前自动创建TreeNodes 时回调?
【问题讨论】:
目前它调用 _createTreeNode() 来创建每个 TreeNode,所以你可以直接连接到它
<div dojoType=dijit.Tree ...>
<script type="dojo/connect" event="_createTreeNode"> ... </script>
...
如果你想做一些更高级的事情,你可以自定义 TreeNode 类:
dojo.declare("MyTreeNode", dijit._TreeNode, { ... })
然后制作一个使用它的自定义 Tree 类:
dojo.declare("MyTree", dijit._Tree, {
_createTreeNode: function(/*Object*/ args){
return new MyTreeNode(args);
}
});
【讨论】:
_createTreeNode 函数在 1.7 之后被移除。