const legendSelect = (legendData) => {
//监听图例点击事件
myChart.on("legendselectchanged", (obj) => {
//点击之后所有被选中的图例
const selectedobj = Object.keys(obj.selected).filter(
(item) => obj.selected[item]
);
//点击的图例是否在 所有被选中的图例 中,也就是判断当前点击是选中操作还是取消操作
const flag = selectedobj.indexOf(obj.name) > -1;
//当是取消操作 && 取消前所有图例都是选中状态
//选中当前图例,取消选中剩余图例
if (!flag && selectedobj.length + 1 === legendData.length) {
for (let i = 0; i < legendData.length; i++) {
// 显示当前legend 关闭非当前legend
if (obj.name === legendData[i]) {
myChart.dispatchAction({
type: "legendSelect",
name: legendData[i],
});
} else {
myChart.dispatchAction({
type: "legendUnSelect",
name: legendData[i],
});
}
}
}
//当是取消操作 && 取消后就没有图例是选中状态
//选中所有图例
if (!flag && !selectedobj.length) {
for (var i = 0; i < legendData.length; i++) {
myChart.dispatchAction({
type: "legendSelect",
name: legendData[i],
});
}
}
});
};
legendSelect([...this.cityList]);
//参数[]=>图例legend的data数据