reactjs - 如何更新饼图上的系列

标签 reactjs apexcharts

在我的 index.js 中,我定义了饼图:

import pieChart1 from './chart/pie-chart-1';
然后将其添加到 render() 函数下:
        <Col md={6}>
                <Card>
                    <Card.Header>
                        <Card.Title as="h5">BALANCE</Card.Title>
                    </Card.Header>
                    <Card.Body>
                        <Chart {...pieChart1} />
                    </Card.Body>
                </Card>
            </Col>
我在 ./chart/pie-chart-1.js 中定义了一个饼图,如下所示:
export default {
    height: 320,
    type: 'pie',
    options: {
        labels: ['Call', 'Put'],
        colors: ['#4680ff', '#0e9e4a'],
        legend: {
            show: true,
            position: 'bottom',
        },
        dataLabels: {
            enabled: true,
            dropShadow: {
                enabled: false,
            }
        },
        responsive: [{
            breakpoint: 480,
            options: {
                chart: {
                    width: 200
                },
                legend: {
                    position: 'bottom'
                }
            }
        }]
    },
    series: [50, 50]
我有一个调用 API 的函数,做一些数学运算并将值保存到状态。
  this.setState({CallPrem : callPrem, PutPrem : putPrem})
在这一点上,我想用这些值更新饼图......我该怎么做?基本上希望 series[0] 具有 callPrem 值,而 series[1] 具有 putPrem。
请原谅我的菜鸟式行话,第一次使用 reactjs,我喜欢它,但我正在慢慢拼凑所有这些是如何工作的。谢谢

最佳答案

您有多种更新图表的选项。
第一种也是推荐的方法是更新您传递给组件的 Prop

const newOptions = {
  ...pieOptions,
  options: {
    ...options,
    labels: [newLabels]
  },
  series: [newSeries]
}
更新 Prop 将自动重新渲染图表。

另一种方式是使用内核ApexCharts.exec()功能。为此,您需要先在 pie-chart-1.js 文件中设置图表 ID。
export default {
    height: 320,
    type: 'pie',
    options: {
      chart: {
        id: "chart-id"
      }
    }
}
设置图表 ID 后,您将能够调用以下方法
ApexCharts.exec('chart-id', 'updateOptions', {
  series: newSeries,
  labels: newLabels
})

关于reactjs - 如何更新饼图上的系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63929399/

相关文章:

javascript - 单元测试无状态组件方法

reactjs - 如何获取react-native中的DataSource长度?

javascript - Apexcharts 条形图未出现在 Vue.js 项目中

vue.js - Apex 圆环图 - 无法更新标签

javascript - 顶点图表文本 chop 自定义

javascript - 循环遍历数据并将其传递给图表

javascript - react : state not updating on first click

javascript - 从 Youtube API 切换到下一个视频 (React)

javascript - 如何将 React 组件添加到现有的 Django 项目

charts - 如何从悬停工具提示顶点图表饼中删除系列值