Incubator-echarts: 用setOption更新series数据,click事件中params.seriesName参数不会获取最新值

Created on 9 May 2016  ·  7Comments  ·  Source: apache/incubator-echarts

问题简述 (One-line summary)

var option = myChart4.getOption(),
    serie = [],
    item = {
        name:apply_50x_top[j],
           type:'pie',
           radius : '45%',
           center: ['50%', '50%'],
           data:applyArr.sort(function (a, b) { return a.value - b.value}),
           itemStyle: {
               emphasis: {
                   shadowBlur: 10,
                   shadowOffsetX: 0,
                   shadowColor: 'rgba(0, 0, 0, 0.5)'
               }
           }
    }
serie.push(item)
option.series = serie
option.title[0]["text"] = apply_50x_top[j]
myChart4.setOption(option);

使用setOption动态更新数据,在click事件中获取params中的seriesName参数时(series.name参数),只获取到第一次加载进去的数据,获取不到后面的最新数据,不清楚是不是bug还是我使用有问题,求个大神帮忙解答一下,感谢

版本及环境 (Version & Environment)

  • ECharts 版本 (ECharts version):v3.1.7
  • 浏览器类型和版本 (Browser version):Google Chrome 50.0.2661.94 m
  • 操作系统类型和版本 (OS Version):Windows 7企业版

    重现步骤 (Steps to reproduce)

1.
2.

期望结果 (Expected behaviour)

click事件时可以实时获取到最新更新的seriesName

可能哪里有问题 (What went wrong)

ECharts配置项 (ECharts option)

option = {
    title: {
        text: '',
        left: 'left',
        textStyle: {
            color: '#ccc'
        }
    },
    series : []
}

其他信息 (Other comments)

stale

Most helpful comment

setOption之前可以先执行一下clear

myChart4.clear();
myChart4.setOption(option);

All 7 comments

seriesName 是无法通过 setOption 改变的

@pissang 那请问还有没有其它什么方法啊

有没有什么方法可以直接修改seriesName 的

显示指明 series.id,不然就会拿 series.name 来做 id,第二次 setOption 的时候会根据这个 id 匹配

意思是把series.name看做唯一Key,不会改变是吗,改变的时候用这个来做匹配

setOption之前可以先执行一下clear

myChart4.clear();
myChart4.setOption(option);

@pissang
seriesName指的是option中的series[k].name吗?
我遇到了一样的问题,解决方法是把echarts.js中的
seriesName = this.name
替换为
seriesName = this.option.name
不知道这样改会不会有其他问题?

Was this page helpful?
0 / 5 - 0 ratings