关于echarts饼状图legend点击最后一下失效

249 阅读1分钟

如图(图片使用的是echarts官方示例):

image.png 实现的功能就是 随机点击 每次点击最后一次的时候失效

// 获取 legend 的点击事件
            myChart.on('legendselectchanged', function (params) {
                let arr = []
                let name = ''
                Object.keys(params.selected).forEach((item, index) => {
                    if (params.selected[item] == true) {
                        arr.push(item)
                        name = item
                    }
                })
                if (arr.length == 0) {
                    // 禁用点击事件
                    myChart.setOption({
                        legend: {
                            selected: {
                                // 将最后一个 legend 设置为选中,其他设置为未选中 seriesData为legend的数据
                                [params.name]: true,
                                ...Object.fromEntries(seriesData.slice(0, -1).map(name => [name, false]))
                            }
                        }
                    });
                }
            });