#amcharts #amcharts5
#amcharts #amcharts5
Вопрос:
Я вызываю эту функцию, чтобы нарисовать пирог в div с идентификатором «анимация-пончик», который находится внутри модального окна.
В первый раз это работает, но при нажатии во второй раз я получил эти ошибки, и диаграмма не отображается
- Неперехваченная ошибка: У вас не может быть нескольких корней на одном узле DOM
- Ошибка неперехваченного типа: Не удается прочитать свойства неопределенного (чтение ‘_display’)
В любом случае, я не думаю, что эти ошибки приводят к тому, что диаграмма не отображается во второй раз, как и в первый, даже с этими ошибками —
Спасибо
Вот моя функция
function donutam(donutdatalabel,donutdataseries){ //Pie View; root = am5.Root.new("animating-donut"); // Set themes root.setThemes([ am5themes_Animated.new(root) ]); // Create chart var chart = root.container.children.push(am5percent.PieChart.new(root, { layout: root.verticalLayout })); // Create series var series = chart.series.push(am5percent.PieSeries.new(root, { valueField: "value", categoryField: "category" })); // Set data var serie = donutdataseries.split(','); var labels = donutdatalabel.split(','); var seriesarr = []; for (i = 0; i lt; serie.length; i ) { seriesarr[i] = {value: serie[i], category: labels[i]}; } series.data.setAll(seriesarr); // Create legend var legend = chart.children.push(am5.Legend.new(root, { centerX: am5.percent(50), x: am5.percent(50), marginTop: 15, marginBottom: 15, })); legend.data.setAll(series.dataItems); // Play initial series animation series.appear(1000, 100);
}
Ответ №1:
Вы можете удалить корень, если он не равен нулю:
if (root !== null) root.dispose();
Комментарии:
1. Спасибо за ваш ответ, Когда я попробовал ваше предложение, я получил эту ошибку, Не удается прочитать свойства неопределенного (чтение «dispose»)