zh648990 发表于 2021-11-28 11:55

求助大佬 这段代码怎么修改才能让 echarts 图列 legend 组件 独立运行?

本帖最后由 zh648990 于 2021-11-28 11:58 编辑

代码如下,这是需要修改的功能代码
setTimeout(function() {
myChart.on('legendselectchanged', function(params){
    console.log(params)
    let name = params.name
    let selected = params.selected
    let checked = selected
    if(checked){
      
      for(let k in selected){
      if(k != name){
          selected = false
      }
      }
      
      myChart.setOption({
      legend: {
          selected: selected
      }
      })
    }
})
}, 10);

这是 图列组件实例
option = {
    legend:[
      {
            data: ['测试标题1', '测试标题2'],
            left: 663,
            top: 383,
            itemWidth: 0,
            itemHeight: 0,
            textStyle: {
                color: '#FFF',
                fontSize: 14,
            },
            selected: {
                '测试标题1': true,
                '测试标题2': false
            }
      },
      {
            data: ['测试标题3', '测试标题4'],
            left: 663,
            top: 383,
            itemWidth: 0,
            itemHeight: 0,
            textStyle: {
                color: '#FFF',
                fontSize: 14,
            },
            selected: {
                '测试标题3': true,
                '测试标题4': false
            }
      },    ],
    title: {
      text: 'Awesome Chart',
    },
    xAxis: {
      data: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
    },
    yAxis: {},
    series: [
      {
            type: 'bar',
            name: '测试标题1',
            data: ,
      },
      {
            type: 'bar',
            name: '测试标题2',
            data: ,
      },
    ],
};
实现的功能是图列组件点击后让上一个标记自动取消 举个例子 点击测试标题2后测试标题1自动取消
但是当图列组件有多个data时就会影响到其他data了 点击测试标题4会影响到测试标题1和2
怎么让每一个data都能实现功能但又不影响其他data?

machenglin 发表于 2021-11-28 12:28

页: [1]
查看完整版本: 求助大佬 这段代码怎么修改才能让 echarts 图列 legend 组件 独立运行?