簡體   English   中英

Highchart-柱形圖-向下鑽取事件多次觸發

[英]Highchart - Column chart - Drilldown event fires many times

我已經使用highchart實現了柱形圖,並試圖在鑽取中顯示另一系列的數據。 向下鑽取工作正常,但事件觸發了很多次。 例如:如果第二次單擊一個條,則向下鑽取事件將觸發2次。 下鑽事件基於點擊而增加。

而且我不知道如何停止事件。(stopPropagation無法正常工作)。

events: {
  drilldown: function(e) {
    if (!e.seriesOptions) {
      chart = this;
      chart.showLoading('<div class="loading-modal loading-modal-wrapper"><div class="loading-title">Loading...</div></div>');
      const param = {
        method: 'Get',
        url: `/test/`
      };
      service.ajax(param, resp => {
        // Show the loading label
        formatSeriesData(e.point.category, resp);
        $timeout(() => {
          chart.xAxis[0].categories = drilldownCategories;
          chart.xAxis[0].axisTitle.attr({
            text: e.point.category
          });
          chart.addSeriesAsDrilldown(e.point, drilldownSeriesData);
          chart.hideLoading();
          chart.applyDrilldown();
        });
      }, () => {
        $log.log("API data failed!");
      });

    }
  },
    drillup: () => {
      chart.xAxis[0].categories = $ctrl.categories;
    }
}

錯誤信息:

angular.js:14199 TypeError: Cannot read property 'xAxis' of null
    at a.Chart.q.addSingleSeriesAsDrilldown (drilldown.js:10)

    at a.Chart.q.addSeriesAsDrilldown (drilldown.js:10)

誰能指導我解決此問題。

我也面臨同樣的問題。 而且,這真的讓我大吃一驚。 無需升級highchart版本。

在使chartconfig執行以下任務時,

if(chartInitialized){           
        chartInitialized = false;
    }
    else{
         chartConfig.chart.events = Object.create({});
    }

並在加載時將變量初始化為true。 謝謝 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM