2

ExtJS 4:

ツリーパネルを作成しました。そのノードに独自のアイコンを設定したかったので、すべてのノードにiconClsプロパティを使用しました。その動作。しかし、ノードを展開すると、通常の「フォルダを開く」アイコンに戻ります。

var treeObject = {
text: "BANK OF AMERICA 1",
cls: "enterprise",
children: [
    {
        text: "core outputs",
        cls: "businessUnit",
        iconCls: 'abc'
    }
],
iconCls: 'abc',
leaf: "false",
expanded: true,
type: "enterprise"
}
treePanel.setRootNode(treeObject);

この問題を回避するために何か提案してください。

4

2 に答える 2

1

このようにcssクラスを指定して、extjsのデフォルトクラスでオーバーライドされないようにしてください

.x-grid-tree-node-expanded .x-tree-icon-parent.abc{
  background: url(abc) x y no-repat !important;
}
于 2012-06-29T11:50:45.673 に答える
0

Ext Js 4.0.6 から、iconconfig onExt.data.NodeInterfaceを使用してノード アイコンを設定できます。モデルに「icon」という名前のフィールドを定義するだけで、それをツリーストアに使用できます...

Ext.define('ModelForTreeNodes', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'icon', type: 'string', defaultValue: "Images/nodeicon.png" },
        // other fields
    ],
    // other config options
});

次に、ノードのアイコンフィールドを設定するだけでアイコンを変更できます...それだけです。

var node = myTree.getStore().getNodeById(nodeId);
node.set('icon', 'Images/newIcon.png');
于 2015-09-04T08:23:27.203 に答える