2010-10-01 57 views

回答

4

看起来好像有两种方法来实现自定义TreeNodeUI。首先是您的实现添加到uiProviders的名单,并与您创建的键的值赋给一个属性,你的节点称为“uiProvider”:

var loader = new Ext.tree.TreeLoader({ 
    uiProviders: { 
     myKey: My.TreeNodeUI.Implementation 
    } 
}); 

这只会改变有uiProvider树节点属性集,保持其他节点不变!

如果你想改变所有TreeNodeUI,你可以重载createNode方法来创建你喜欢的任何类型的节点(尽管这应该扩展Ext.tree.TreeNode)。如果你不想实现一个完整的TreeNode类,你可以再次重写uiProviders属性。

var loader = new Ext.tree.TreeLoader({ 
    //override the CreateNode function 
    createNode: function(attr) { 
     attr.uiProvider = My.TreeNodeUI.Implementation 

     return Ext.tree.TreeLoader.prototype.createNode.call(this, attr); 
     //or possibly... 
     //return My.CreateNode.Implementation 
    } 
});