<ul>
<li v-for="(item,index) in legend2Data" class="hoverObj" @click="dispatchSth(item.name,index)" :key="item.name">
<span class="bgLi hoverObj" :style="{background: item.show ? item.color : '#ccc'}" ></span>
<span>{{item.name}}</span>
</li>
</ul>
<div id="chart2Cont"></div>
export default{
name:'chart1',
data(){
return {
legend2Data:[{name:'aa',show:false,color:'#ff0000'}],//第一列雷达图图例数据
clickLengedName:[]
}
},
mounted(){
this.chart2=echarts.init(document.getElementById('chart2Cont')); //图标ID
},
methods:{
dispatchSth(name,index){
this.legendToGray(name,index,this.clickLengedName,this.legend2Data); //将图例置灰
this.chart2.dispatchAction({
type:'legendToggleSelect',
name:name
})
},
legendToGray(name,index,clickLengedName,legendData){
if(clickLengedName.length){
let hasIndex=clickLengedName.findIndex(item => {
return item.name==name;
})
if(hasIndex== -1){
// console.log('循环后没有该项则置灰:======'+2);
clickLengedName.push({
name:name,
index:index
})
legendData[index].show=false;
}else{
// console.log('循环后有该项则取消置灰:======'+1);
clickLengedName.splice(hasIndex,1);
legendData[index].show=true;
}
}else{
//直接置灰
//console.log('直接置灰:======'+0);
clickLengedName.push({
name:name,
index:index
})
legendData[index].show=false;
}
},
}
}