ApexChart TypeError:更新图表时{c}未定义

时间:2020-03-20 16:20:21

标签: javascript apexcharts

我开始使用ApexChart,在创建图表时效果很好,但是当我尝试更新图表时,它返回错误“ c is undefined”。

下面如何创建图表。 date是具有一些日期的数组,值是具有数字的数组

var options = {
    chart: {
        height: 350,
        type: 'area',
        zoom: {
            enabled: false
        }
    },
    dataLabels: {
        enabled: false
    },
    stroke: {
        curve: 'straight'
    },
    series: [{
        name: "Sales",
        data: values
    }],
    title: {
        text: 'Number os sales',
        align: 'left'
    },
    labels: dates,
    xaxis: {
        type: 'datetime'
    },
    yaxis: {
        opposite: true
    },
    legend: {
        horizontalAlign: 'left'
    }
}
var chart = new ApexCharts(
    document.querySelector("#salesChart"),
    options
)
if (document.getElementById('salesChart')) {
    chart.render();
}

然后,我尝试通过以下方式更新图表:

// Update label
ApexCharts.exec('salesChart', 'updateOptions', {
    xaxis: {
        labels: dates
    }
}, false, true)
// Update values
ApexCharts.exec('salesChart', 'updateSeries', [{
    data: values
}], true);

当我为数组的日期和值设置新值时,将调用上述更新。 返回错误:

TypeError: "c is undefined"
    getChartByID http://myserver.com/assets/js/vendors/charts/apex-charts.js:27013
    exec http://myserver.com/assets/js/vendors/charts/apex-charts.js:26952

1 个答案:

答案 0 :(得分:1)

您忘记在选项中为图表提供ID

var options = {
  chart: {
    id: 'salesChart'
  }
}

功能ApexCharts.exec仅在提供图表ID时有效。