我正在寻找一种方法来获取TreePanel中节点的自定义模板..我想将它包装在div或类似的东西中。 abybody可以帮忙吗?
答案 0 :(得分: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
}
});