Принудительно перерисовать диаграмму или обновить Chart.js - PullRequest
0 голосов
/ 21 июня 2019

Я создаю кольцевую диаграмму Chart.js, но у меня есть две проблемы: 1. Диаграмма не обновляется при обновлении источника данных, поэтому данные не обновляются. 2. Диаграмма находится в структуре вкладок, и если я меняю вкладки, а затем возвращаюсь на вкладку диаграммы, она исчезает, она не перерисовывается.

Обе проблемы будут исправлены, если я смогу перерисовать чат, есть ли способ сделать это?

<div style="display: block">
  <canvas baseChart height="220"
    [datasets]="productoChartData"
    [labels]="productoChartLabels"
    [options]="productoChartOptions"
    [legend]="productoChartLegend"
    [chartType]="productoChartType"
    [colors]="productoChartColors">
  </canvas>
</div>

и ТС

  public confirmadosChartLabels = ['Confirmados', 'Oportunidades'];
  public confirmadosChartData: MultiDataSet = [
    [0, 0]
  ];
  public confirmadosChartType: ChartType = 'doughnut';
  public confirmadosChartOptions: {
    responsive: false;
    legend: {
      display: true,
      position: 'right',
      labels: {
        boxWidth: 20,
        padding: 20,
        fontSize: 12
      }
    }
  };
  public confirmadosChartLegend = true;
  public donutColors = [{
    backgroundColor: [
        'rgba(75, 176, 138, 1)',
        'rgba(58, 129, 245, 1)']
    }];

и я обновляю источник данных вот так

const data: any = x.ResponseData;
this.confirmadosChartData[0][0] = data.Confirmadas;
this.confirmadosChartData[0][1] = data.Oportunidades;

1 Ответ

0 голосов
/ 21 июня 2019
  1. try Пожалуйста, попробуйте, как указано ниже.

var verifymadosChartData = this.confirmadosChartData;

чем присвоить ему значение

verifymadosChartData [0] [0] = data.Confirmadas;verifymadosChartData [0] [1] = данные.Oportunidades;

повторно назначьте его.

this.confirmadosChartData = verifymadosChartData;

Сначала попытайтесь очистить массив, а затем присвоить значение.

this.confirmadosChartData = [] [];

const data: any = x.ResponseData;

this.confirmadosChartData [0] [0] = data.Confirmadas;this.confirmadosChartData [0] [1] = data.Oportunidades;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...