2017-06-21 66 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

非常棒的傢伙。問題解決了。非常感謝。 –