我可以在 amchart 图表中保存状态吗?
Can I save a state in amchart graph?
我的任务是添加额外的功能,可以在用户注销时切换图例项目后保存其状态,并且状态应该与他登录时相同。是否可以在 amchart 中执行此操作?
AmCharts 不提供任何内置的 save/load 图表状态解决方案,因此您需要编写自己的自定义代码。正如@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;
}
我的任务是添加额外的功能,可以在用户注销时切换图例项目后保存其状态,并且状态应该与他登录时相同。是否可以在 amchart 中执行此操作?
AmCharts 不提供任何内置的 save/load 图表状态解决方案,因此您需要编写自己的自定义代码。正如@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;
}