需求:点击图例,则选中该项,将其他项置灰;再次点击,恢复选中所有选项

做法:监听下legendselectchanged事件,用一个变量来保存上次点击的图例的名字,

  • 如果点击的图例名称和保存的一致,说明是再次点击,应该恢复所有选项,把所有图例都置为 true;
  • 如果点击的图例名称和保存的不一致,说明点击了另外的图例,这是需要更新变量,并且把这次点击的图例的selected设置为true,其他的设置为false。

坑点:如果在legendselectchanged里调用 echarts 的 dispatchActions,会陷入循环调用,如果还是想调用 dispatchActions方法,可参考这篇文章。我就直接调用setOption了。

监听 legendselectchanged 事件代码如下: