echarts图例legend选中状态动态设置 selected

功能前端页面展示,需要对所有指标的图例默认选中状态只显示前两个,其他指标的图例状态默认为灰色。
1、因为所有的指标为动态加载的,因此图例legend选中状态也要通过js进行动态加载,从官方的文档里可以查询到legend.selected配置项可以设置图例的默认状态。
官方示例,true为选中展示系列,false为灰色默认不展示该系列:
selected: {
    // 选中'系列1'
    '系列1': true,
    // 不选中'系列2'
    '系列2': false
}
 
2、js代码
//图例配置项
legend: {
x: 'center',
y: 'bottom',
data: $scope.key_value,
selected:{}
},
 
//js动态加载
var selected_item = {};
for(i =0; i < $scope.key_value.length; i++){
var key_name = $scope.key_value[i];
if(i >1){
selected_item[key_name] = false;
}else{
selected_item[key_name] = true;
}
};
option.legend.selected = selected_item;
//标红是踩过的坑 原始写法selected_item.key_name = false; 会报错,原因是: json 解析时 key_name 都按字符串解析,不识别变量.
 
下面附加一下动态给对象添加属性和值得两种常用法法
              function Person(){};
              var person = new Person();
              person.name = 'yy';
              person.gender = 'girl';
              console.log(person.name+','+person.gender);//yy,girl
              delete person.name;//删除属性
              console.log(person.name);//undefined
  //            变式
              function Person(){};
             var person = new Person();
             person['name'] = 'yy';
             person['gender'] = 'girl';
             console.log(person.name+','+person.gender);//yy,girl
             delete person.name;//删除属性
             console.log(person.name);//undefined        
 
posted @ 2019-01-10 14:30  韩冷耀  阅读(26284)  评论(0编辑  收藏  举报