2016-10-08 2 views
2

Я использую реакцию на рендеринг 2 диаграмм, линейную диаграмму и стек гистограммы вертикально. Когда я просматриваю, чтобы посмотреть на barChart ниже, после каждого обновления chartjs заставляет мой свиток (0,0). Я видел некоторую реализацию, которая не перемещает позицию прокрутки после каждого обновления.chart.js, после каждого обновления избегайте прокрутки до верхней позиции

Пожалуйста, помогите

  <canvas id="lineChart" onLoad={ load() }> 
      Your browser does not support canvas, please upgrade to latest browser 
      </canvas> 

      <canvas id="barChart" onLoad={ load() }> 
      Your browser does not support canvas, please upgrade to latest browser 
      </canvas> 

    //to load chart.js 
    var myChart = new Chart($("#barChart")[0], { 
     type: 'bar', 
     data: { 
      labels: props.labels, 
      datasets: [{ 
       label: props.label, 
       data: props.data, 
       backgroundColor: props.labels.map(l => props.color) , 
       borderColor: props.labels.map(l => props.borderColor) , 
       borderWidth: 0.01 
      }] 
     }, 
     options: { 
      scales: { 
      yAxes: [{ 
       ticks: {beginAtZero: true} 
      }] 
     } 
     } 
    }); 

ответ

1

У меня была аналогичная проблема при уничтожении диаграммы и ее воссоздания. Мое обходное решение состояло в том, чтобы получить положение прокрутки до разрушения и повторно применить его после создания. Например, в jQuery:

var pos = $(document).scrollTop(); 
if (chart != undefined) 
chart.destroy(); 

chart = new Chart(ctx, chartOptions); 
$(document).scrollTop(pos); 
Смежные вопросы