我的任务是添加其他功能,以在用户注销时切换图例项后可以保存其状态,并且登录后状态应相同。是否可以在amchart中进行设置?
答案 0 :(得分:2)
AmCharts不提供任何内置解决方案来保存/加载图表状态,因此您需要编写自己的自定义代码。如@Abhijit所述,您可以使用localStorage来完成此操作。我已经在我们的支持论坛中使用图例事件提供了示例解决方案,但是在这里,它再次适合您以及正在寻找的任何其他人:
AmCharts.makeChart("...", {
// ...
graphs: [{
// ...
//get hidden value from localStorage. needs to cast stored string "1" or "0" to a number, then casted to a boolean if a value exists
hidden:
localStorage.carsHidden !== undefined
? !!+localStorage.carsHidden
: false,
},
// repeat
],
legend: {
// ...
listeners: [
{
event: "showItem",
method: saveState
},
{
event: "hideItem",
method: saveState
}
]
}
});
function saveState(e) {
localStorage[e.dataItem.valueField + "Hidden"] =
e.type === "hideItem" ? 1 : 0;
}