2011-11-25 75 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');