2011-11-25 42 views
1

我在ExtJS4应用程序中有一个树面板,我想更改用于节点的图标,以便它们在不包含子节点时使用“叶”图标。但是一旦添加了一个子节点,它就会恢复到正常的文件夹图标。什么是实现这一目标的最佳方式?ExtJS4树面板 - 更改没有孩子的节点的图标?

+0

我不明白。当你添加一个孩子时,它不再“不包含任何孩子节点”。那么你的意思是你想让叶子图标成为永久的? –

回答

1

想通了:

在TreePanel中的初始化,所有节点都allowChildren:trueleaf:false和节点的不包含儿童有iconCls:'tree-leaf'。该类相关联的CSS规则是:

node.set('iconCls', ''); 

当倒数:

.x-reset .tree-leaf, 
.x-reset .x-grid-tree-node-expanded .tree-leaf 
{ 
    width: 16px; 
    background-image: url('../ext4/resources/themes/images/gray/tree/leaf.gif'); 
} 

那么,如果空节点有子节点添加到它,我以编程方式删除自定义iconCls CSS类发生时,当有孩子的节点失去孩子并且现在为空时,自定义类将以编程方式添加到它:

node.set('iconCls', 'tree-leaf');