如何更改dojo树的特定树节点的颜色

时间:2010-09-21 20:14:33

标签: dojo

我创建了一个dojo树,如下所示:

store = new dojo.data.ItemFileWriteStore({url: link});
treeModel = new dijit.tree.TreeStoreModel({
                                        store: store,
                                        query: {
                                                "type": "ROOT"
                                                },
                                        rootId: "newRoot",
                                        childrenAttrs: ["children"]
                                    });

new dijit.Tree({model: treeModel},"treeOne");

这里的url指向一个json文件。我正在动态地向此树添加节点,如下所示:

store.fetchItemByIdentity({
                       identity: pid,
                       onItem : function(item, request) {
                       parentitem = item;
                       treeModel.newItem({id: cid,name: cname,type: ctype},parentitem)
                       },
                      onError : function(item, request) {
                      }
                   });
                 }

将这些新条目作为树节点添加到此树时,我想将某些树节点的颜色更改为红色或其他颜色,只是为了区别于其他节点以供用户注意。有什么方法可以在dijit树中完成吗?更改背景颜色不是唯一的选择,我只是想以不同的方式显示该节点,以便用户可以注意到该节点。任何帮助?

1 个答案:

答案 0 :(得分:2)

抱歉,我认为答案为时已晚,但直到几个月前我还没有开始使用道场。 也许这个片段可以帮助你。它允许更改当前所选节点的文本颜色:

var node = dijit.byId('layerTree').selectedNode;
if(!node) return;

if(value) {
    node.labelNode.style.color = "black";
}else {
    node.labelNode.style.color = "#ddd";
}