Невозможно прочитать свойство '_index' неопределенного Chartist Js для значения 0 или ноль - PullRequest
0 голосов
/ 24 апреля 2020

Я использую график JS для диаграмм на моей веб-странице. Я изучил функцию 'onClick' в опциях, предоставленных чартистом.

Пожалуйста, найдите мой код ниже:

 public horizontalBarchartoptions = {
      'onClick' : function (evt, item) {
        var index = item[0]['_index']
        var reportId = latestScanReportID[index];
        routingFunct.navigate(["./resultPage/"+reportId]);
      },
      tooltips: {
              callbacks: {
                  label: function(tooltipItem) {
                      return  " "+ Number(tooltipItem.xLabel)+" issue(s)";
                  }
              }
          },
          scales: {
            yAxes: [{
              scaleLabel: {
                display: true,
                labelString: 'Volume'
              }, 
              display: true,
              labelString: 'Density',
              ticks: {
                  mirror: true,
                  autoSkip: false,
                  padding: -30,
                  fontColor: '#fff'
                }}],
            xAxes: [{
              scaleLabel: {
                display: true,
                labelString: '# Issues'
              }, 
              ticks: {
                min: 0,
                userCallback: function(label, index, labels) {
                  // when the floored value is the same as the value we have a whole number
                  if (Math.ceil(label) === label) {
                      return label;
                  }
                }                
            },
            }]
         }       
        };

При нажатии на панель вышеупомянутый код перенаправляет на страницу результатов для этот конкретный идентификатор столбца ниже является изображением для того же самого: На этом изображении при нажатии на сканировании 1 - сканировании 4 оно перенаправляется на страницу результатов При нажатии на сканировании 5 выдается следующее исключение, поскольку значение Сканирование 5 - это 0

ERROR TypeError: Cannot read property '_index' of undefined

Я могу начать метку оси с -1, но это не является предпочтительным решением. Можете ли вы предложить другой подход для решения этот выпуск.

Заранее спасибо

1 Ответ

0 голосов
/ 24 апреля 2020

Я бы посоветовал хотя бы обработать, когда в 'item' нет элементов:


 public horizontalBarchartoptions = {
      'onClick' : function (evt, item) {
        if (item != null && item != undefined) {
           if (item.length > 0) {
              var index = item[0]['_index']
              var reportId = latestScanReportID[index];
              routingFunct.navigate(["./resultPage/"+reportId]);
           }
        }
      },
      tooltips: {
              callbacks: {
                  label: function(tooltipItem) {
                      return  " "+ Number(tooltipItem.xLabel)+" issue(s)";
                  }
              }
          },
          scales: {
            yAxes: [{
              scaleLabel: {
                display: true,
                labelString: 'Volume'
              }, 
              display: true,
              labelString: 'Density',
              ticks: {
                  mirror: true,
                  autoSkip: false,
                  padding: -30,
                  fontColor: '#fff'
                }}],
            xAxes: [{
              scaleLabel: {
                display: true,
                labelString: '# Issues'
              }, 
              ticks: {
                min: 0,
                userCallback: function(label, index, labels) {
                  // when the floored value is the same as the value we have a whole number
                  if (Math.ceil(label) === label) {
                      return label;
                  }
                }                
            },
            }]
         }       
        };

Надеюсь, это поможет.

...