Highchart - запускать Sweetalert2 при щелчке по элементу - PullRequest
0 голосов
/ 16 июня 2020

Я хочу запустить Sweetalert2 тост , когда я щелкаю элемент Highchart ser ie. В документации Highchart показано, как мы можем показать простое предупреждение JS, щелкнув элемент. Я хочу показать тост Sweetalert2 .

Sweetalert2

 private toast = Swal.mixin({
    toast: true,
    position: "top-end",
    showConfirmButton: false,
    timer: 5000
  });

Highchart ser ie

events: {
     click: function (event) {   
          this.toast.fire({
               icon: "info",
               title: element.name
           });
      },
},

Проблема: когда я нажимаю на элемент ser ie элемент return

Не удается прочитать свойство 'fire' неопределенного

Я полагаю, что. fire () потеряна функция при попытке запустить ее через функцию щелчка. Итак: как запустить sweetalert2, щелкнув элемент диаграммы ser ie?

1 Ответ

0 голосов
/ 16 июня 2020

В функции обратного вызова по щелчку серии this относится к выбранной серии, поэтому this.toast равно undefined. Если вам нужен только внешний this, используйте функцию стрелки:

events: {
    click: () => {
        ...
    }
}

Если вам также нужно обратиться к выбранной серии, используйте IIFE:

events: {
  click: (function(outerThis) {
    return function() {
      console.log(this, outherThis)
    }
  })(this)
}

Живой пример: http://jsfiddle.net/BlackLabel/Lrt6ajn9/

Ссылка на API: https://api.highcharts.com/highcharts/series.column.events.click

...