2017-06-21 71 views
0

下面是我为Highchart编写的在特定条件下启用/禁用Legend的脚本。但它不起作用。Highcharts Legend'enabled'function does not working

   legend: { 
       layout: 'horizontal', 
       itemStyle: { color: '#333333', cursor: 'none', fontSize: '10px', fontWeight: 'normal' }, 
       labelFormatter: function() { 
        return this.name; 
       }, 
       enabled: function() { 
        if (ChartType == "column") { 
         return true; 
        } else { 
         return false; 
        } 
       } 
      }, 

似乎函数根本就没有调用。如果我提到'启用:真',它工作得很好..请帮助。

回答

0

这将是更好的条件转移到Highchart后处理:

var type = 'show', display = true; 
if (ChartType == "column") { 
    type = 'hide'; 
    display = false; 
} 

chart.legend.group[type](); 
chart.legend.box[type](); 
chart.legend.display = display; 
chart.legend.render(); 
+0

Thnq。回复/评论@VõMinh Phong。修复问题 –

+0

@SandeepMogaveer,他们都是对的,由你决定 – FieryCat

0

enabled的类型是布尔值,所以您不能将其设置为函数。

http://api.highcharts.com/highcharts/legend.enabled

+0

哦..权。有没有可以建议的解决方法? –

+0

您可以声明一个变量,如启用,您设置默认为false,则在处理图表之前声明一个函数运行。 'function(){ if(ChartType ==“column”){ enable = true;其它{ enable = false; }' –

+0

非常棒的家伙。问题解决了。非常感谢。 –