Похоже, что существует два способа реализации пользовательского TreeNodeUI.Во-первых, вы должны добавить свою реализацию в список uiProvider и назначить для ваших узлов свойство 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
}
});