ChartJS与ReactJS旧数据集标签在数据更改时保留

时间:2017-02-13 09:36:15

标签: reactjs chart.js react-chartjs

我将以下内容传递给我的图表:

if ($mode == 'margin') {
        $datasets = [[
            'label' => 'Invoiced margin',
            'backgroundColor' => "rgba(122, 208, 94, 0.3)",
            'borderColor' => "rgba(122, 208, 94, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => false
        ], [
            'label' => 'Invoiced target',
            'backgroundColor' => "rgba(160, 160, 160, 0.3)",
            'borderColor' => "rgba(160, 160, 160, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => false
        ]];
    } else if ($mode == 'activity') {
        $datasets = [[
            'label' => '# of companies targeted',
            'backgroundColor' => "rgba(255, 176, 92, 0.3)",
            'borderColor' => "rgba(255, 176, 92, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => true
        ], [
            'label' => 'Targeted target',
            'backgroundColor' => "rgba(251, 255, 143, 0.3)",
            'borderColor' => "rgba(251, 255, 143, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => true
        ], [
            'label' => 'Stages aquired',
            'backgroundColor' => "rgba(77, 255, 184, 0.3)",
            'borderColor' => "rgba(77, 255, 184, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => false
        ], [
            'label' => 'Stage target',
            'backgroundColor' => "rgba(176, 255, 143, 0.3)",
            'borderColor' => "rgba(176, 255, 143, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => false
        ], [
            'label' => 'Intros sent',
            'backgroundColor' => "rgba(175, 26, 255, 0.3)",
            'borderColor' => "rgba(175, 26, 255, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => true
        ], [
            'label' => 'Intro target',
            'backgroundColor' => "rgba(214, 138, 255, 0.3)",
            'borderColor' => "rgba(214, 138, 255, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => true
        ]];
    } else if ($mode == 'calls') {
        $datasets = [[
            'label' => 'Outbound call time actual',
            'backgroundColor' => "rgba(255, 176, 92, 0.3)",
            'borderColor' => "rgba(255, 176, 92, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => false
        ], [
            'label' => 'Outbound call time target',
            'backgroundColor' => "rgba(251, 255, 143, 0.3)",
            'borderColor' => "rgba(251, 255, 143, 1)",
            'lineTension' => 0.2,
            'data' => [],
            'hidden' => false
        ]];
    }

如果我在'margin'和'calls'模式之间切换,我图表顶部的图例标签会正确更改。但是,如果我选择'活动',我会按预期获得标签,但是当我改回'margin'或'calls'时,'activity'中的标签仍保留在顶部,前两个被替换。

这是ChartJS的错误吗?我尝试过多种不同的方式创建图表,但我仍然遇到了这个问题。

关于可能导致这种情况的任何想法?

0 个答案:

没有答案