Диаграммы Amcharts 3 не перерисовываются правильно - PullRequest
0 голосов
/ 16 марта 2020

Я использую Amcharts 3 для наших диаграмм и работаю над динамическим добавлением / удалением направляющих на диаграммах. Если пользователь выбирает флажок, он добавляет 2 диаграммы к диаграмме, но если пользователь снимает этот флажок или устанавливает другой флажок, я хочу удалить направляющие. Пока что у меня есть правильное добавление направляющих, однако, когда пользователь выбирает / снимает выбор другого флажка, направляющие по какой-то причине не удаляются.

Это код, который я использую для добавления / удаления направляющих:

         let posReportTypeChart = chartingManager.getChartById("posReportType");
          // If only one Checkbox is Selected, add the Guides to the chart
            if (this.selectedQrCount == 1) {
                let selected = qrGridEvents.grid.dataSource.data().filter(x => x.IsSelected == true);
                let guideEffDate = this.getNewGuide(selected[0].EffectiveDate);
                let guideEndDate = this.getNewGuide(selected[0].EndDate);
                posReportTypeChart.guides.push(guideEffDate);
                posReportTypeChart.guides.push(guideEndDate);
                this.reDrawPOSReportTypeChart(posReportTypeChart);
            }
            else if (posReportTypeChart.guides.length > 1) {
                posReportTypeChart.guides = [];
                this.reDrawPOSReportTypeChart(posReportTypeChart);
            }

            // This is the function that I am using to redraw the chart. For some reason it is
               adding the Guides fine but whenever I go to remove the Guides this isn't working.
            private reDrawPOSReportTypeChart = (chart: any) => {
                  chartingManager.charts[3] = chart;
                  chart.dataProvider = chartingManager.itemChartingData;
                  chart.validateNow(true, false);
                  chart.invalidateSize();
                  chart.legend.validateNow();
              }

1 Ответ

0 голосов
/ 16 марта 2020

Я нашел ответ. Вам нужно использовать chart.categoryAxis.addGuide, чтобы добавить руководство, а затем просто использовать chart.categoryAxis.guides = [], чтобы очистить направляющие. Просто убедитесь, что вы используете chart.validateData () после каждого вызова, чтобы добавить или удалить направляющие для перерисовки диаграммы.

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