问题的解决方法是在创建填充适配器时添加 preserveOriginal:true。这样,当图例切换时,原始填充适配器不会被覆盖。
代码示例:
// 创建填充适配器
var fillAdapter = chart.colors.create();
fillAdapter.adapter.add("fill", function(fill, target) {
// ...
}, undefined, undefined, true); // 添加 preserveOriginal:true
// 给“图例按照这个填充应用颜色”添加事件监听器
chart.legend.itemContainers.template.events.on("hit", function(ev) {
var target = ev.target;
var active = target.isActive;
// ...
});