1

我需要更新已经渲染的 ApexCharts 的图表类型。

从我查看的方法来看,我尝试使用该updateOptions()方法,但返回以下错误:Uncaught TypeError: Cannot read property 'querySelectorAll' of undefined.

我也有另一个问题......我可以在不再次通知数据的情况下更新图表吗?

代码: https ://jsfiddle.net/leorcdias/yzwx6qh4/4/

我的想法是更新图表而不必重新放置数据......

我真的希望有人能帮助我!谢谢..

4

1 回答 1

1

我尝试使用updateOptions({type: 'selectedType'}),但没有任何结果。

但是,updateSeries()方法救了我的命 :) 我只用它来改变图表的类型。为了更改我使用的所有其他选项updateOptions

我总共有以下代码:

chart.updateSeries([{type: 'MyType'}]); 
chart.updateOptions({every: other, options: you, want: toChange}});

编辑

对不起,我上面的所有文字都没有意义

所以,你有2个问题。

  1. Uncaught TypeError: Cannot read property 'querySelectorAll' of undefined

updateOptions只能在必须创建一次的 ApexCharts 实例上调用方法(如其他 API 方法)。在您的情况下,此类实例是 var chart。但是存在问题:1)您尝试多次创建它(在初始渲染之前和更新之前),2)这个实例每次都在本地范围内!

2)

我可以在不再次通知数据的情况下更新图表吗?

数据系列数组。系列结构取决于图表类型。在馅饼的情况下,它只是一个数值数组。在条、线、区域的情况下,它是一个对象数组。请参阅文档/图表类型和文档/演示。因此,如果您想将图表类型更改为具有不同系列结构的另一种图表类型,请先转换您的系列结构!在另一种情况下,更新非常容易,例如:

chart.updateOptions({legend:{show:false}, stroke: {width:8}});

我已经用最少的代码重写了你的代码,检查一下https ://jsfiddle.net/kvipe/7sxLrz54/7/ ,很乐意提供帮助!

于 2020-02-01T21:14:28.293 回答