代码之家  ›  专栏  ›  技术社区  ›  Anil Vishnoi

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

  •  0
  • Anil Vishnoi  · 技术社区  · 16 年前

    我创建了一个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 回复  |  直到 16 年前
        1
  •  2
  •   Vijin Paulraj    8 年前

    抱歉,我认为答案太迟了,但直到几个月前我才开始使用dojo。 也许这个片段可以帮你。它允许更改当前选定节点的文本颜色:

    var node = dijit.byId('layerTree').selectedNode;
    if(!node) return;
    
    if(value) {
        node.labelNode.style.color = "black";
    }else {
        node.labelNode.style.color = "#ddd";
    }