可以先看看前一篇随笔,主要是对后端数据如何转换成echarts数据的一些实现。
从后端通过axios返回的数据主要是对像数组。
ECharts中最适合的数据是数据集,也就是dataset
一、但是从后端返回的数据存在如下的问题,需要我们一个个解决:
1、后端返回数据的列过多,Echarts只使用其中的部分列
2、后端返回数据的列顺序与Echarts中用到的列顺序不一致,在转换时需要按指定的列顺序来生成数据
3、后端返回数据的列是动态生成的,也有些是行转列生成的,不能确定列名称,需要按原顺序生成列
4、后端返回数据的列是动态生成的,对于动态生成列的数据,需要过滤掉指定的一列或多列,其他的列保留
二、我们需要做的事情就是通过一个计算属性或方法来解决掉上面的几个问题,实现一个通用的转换功能。
参数一:后端返回的数据,如果绑定到前端,就是对像数组
参数二:按指定的列顺序生成数据,会过滤掉指定列之外的数据,列名之间用|号分隔,如果为空值,则第三个参数生效
参数三:第二个参数为空时生效,需要过滤掉的列,列名之间用|号分隔。
for(var key in item),key是个好东西,读出来就是键名称,正好做比较,不然还不知道怎么搞了。
indexOf(key),用于判断数组中是否包含某个值,不存在的话返回-1
this.mySeries.push({type:'bar'});主要是根据列的数量来动态生成Echarts中Series&#