使用chart.js时控制台中出现错误消息

92dk7w1h  于 2022-11-06  发布在  Chart.js
关注(0)|答案(1)|浏览(202)
function draw() {

    const labels = [
        'January',
        'February',
        'March',
        'April',
        'May',
        'June',
    ];

    const data = {
        labels: labels,
        datasets: [{
            label: 'test',
            backgroundColor: 'rgb(255, 99, 132)',
            borderColor: 'rgb(255, 99, 132)',
            data: [0, 10, 5, 2, 20, 30, 45],
        }]
    };

    const config = {
        type: 'doughnut',
        data: data,
        options: {}
    };

    const myChart = new Chart(
        document.getElementById('myChart'),
        config
    );

}

这是我的代码,我一直得到这个错误消息:
“未捕获的错误:画布已在使用中。必须先销毁ID为“0”的图表,然后才能重用ID为“myChart”的画布。”
除了这个错误代码,我的图表能够完美地显示,没有任何问题。

6tqwzwtp

6tqwzwtp1#

在创建新的Chart之前调用myChart.destroy()。首先全局声明myChart,然后对其进行初始化。

let myChart = null;
function draw() {

    const labels = [
        'January',
        'February',
        'March',
        'April',
        'May',
        'June',
    ];

    const data = {
        labels: labels,
        datasets: [{
            label: 'test',
            backgroundColor: 'rgb(255, 99, 132)',
            borderColor: 'rgb(255, 99, 132)',
            data: [0, 10, 5, 2, 20, 30, 45],
        }]
    };

    const config = {
        type: 'doughnut',
        data: data,
        options: {}
    };

    if(myChart !== null){
        myChart.destroy();
    }

    myChart = new Chart(
        document.getElementById('myChart'),
        config
    );

}

相关问题