当点击矩形树图的一级时,监听器click事件,然后对点击的一级区块的itemStyle设置borderColor和borderWidth,发现只有borderWidth生效。
var getLevelOption = function(){
return [
{
itemStyle: {
borderWidth: 1,
gapWidth: 2
},
upperLabel: {
show: false
}
}, {
itemStyle: {
borderWidth: 1,
gapWidth: 1
},
upperLabel: {
color: '#333',
fontSize: 12
}
}
];
};
var treeData = [{
name: "华东",
value: 30,
children: [{
name: 'a',
value: 1
},{
name: 'b',
value: 2
}]
},{
name: "华北",
value: 25,
children: [{
name: 'a',
value: 1
},{
name: 'b',
value: 2
}]
},{
name: "华中",
value: 20,
children: [{
name: 'a',
value: 1
},{
name: 'b',
value: 2
}]
},{
name: "西北",
value: 15,
children: [{
name: 'a',
value: 1
},{
name: 'b',
value: 2
}]
},{
name: "西南",
value: 6,
children: [{
name: 'a',
value: 1
},{
name: 'b',
value: 2
}]
},{
name: "东北",
value: 6,
children: [{
name: 'a',
value: 1
},{
name: 'b',
value: 2
}]
}];
var myOption = {
title: {
text: 'demo',
left: 'center',
show: false
},
series: [{
name:'Disk Usage',
type:'treemap',
// visibleMin: 300,
leafDepth: 2,
upperLabel: {
normal: {
show: true,
color: '#333',
fontSize: 12
},
emphasis: {
show: true,
color: '#333',
fontSize: 12
}
},
label: {
normal: {
show: true,
color: '#333',
fontSize: 12,
lineHeight: 20,
ellipsis: true
},
emphasis: {
show: true,
color: '#333',
lineHeight: 20,
ellipsis: true
}
},
levels: getLevelOption(),
data: treeData,
breadcrumb: {
show: false
}
}]
};
myChart.setOption(myOption);
myChart.on('click','series', function(param){
var name = param.data.name;
var curData = treeData.concat([]);
for (let item of curData) {
if (item.name === name) {
item.itemStyle = {
borderWidth: 3,
borderColor: '#ccc'
}
} else {
if (item.itemStyle) {
delete item.itemStyle;
}
}
}
let curOption = myChart.getOption();
curOption.series[0].data = curData;
console.log(curOption.series[0]);
myChart.setOption(curOption,true);
})
General Questions
Issue Type
Issue Details
存在多级数据时,比如两级时。动态改变第一级的样式itemStyle的borderColor属性,再重新setOption,会发现设置不生效。
Expected Behavior
动态设置第一级的borderColor属性,能实现borderColor颜色设置生效。
Current Behavior
当点击矩形树图的一级时,监听器click事件,然后对点击的一级区块的itemStyle设置borderColor和borderWidth,发现只有borderWidth生效。
Environment
MyOption
var myChart = echarts.init(document.getElementById('main'));