【发布时间】:2014-07-16 11:23:13
【问题描述】:
我有一个 dijit/Tree 并覆盖 getIconClass 函数来更改图标符号。这很好用,但是我如何通过 onClick 在叶子上更改项目? 通过加载树,所有图标都设置正确。 My Leafs 有一个属性可以是真/假,称为“doTest”。在 getIconClass 函数中,当“doTest”为真时,我将图标样式设置为“foo”,当“doTest”为假时,将图标样式设置为“bar”。通过叶子的 onClick,“doTest”属性切换为 true/false,但图标仍然相同。有没有办法通过点击我的叶子来改变图标?
var myTree = new Tree({
// Setze wurzel
data : myModel,
getIconClass : function(item) {
if (item.type == "Root") {
return "allServer";
}
if (item.type == "Server") {
return (item.available ? "serverAktive"
: "serverInAktive");
}
if (item.type == "Service") {
return (item.doTest ? "doPerformanceTest"
: "doNoPerformanceTest");
}
},
onClick : function(item) {
// Function set the Value of doTest to false or true.
setDoTest(item);
// Here must be a way to Change the icon!!!!
},
onDblClick : function(item) {
if (item.type == "Server") {
// doPerformanceTest für alle true/false
var services = myObsStore.getChildren(item);
var setTo = true;
services.forEach(function(element, index) {
if (index == 0) {
if (element.doTest) {
setTo = false;
}
}
// Change the Icon of all!!!!
});
}
},
model : myModel
}).placeAt("navigationView");
【问题讨论】:
标签: javascript tree dojo