如何解决AMCharts-将子级动态添加到树形图
我非常喜欢AMChart的许多功能,但找不到任何将一些子级动态添加到树形图中的方法。
我正在尝试为每个元素的“命中”加载其他子项
for (var i = 0; i < this.maxDepthLevel; i++) {
const series = this.chart.seriesTemplates.create(i);
series.columns.template.events.on("hit",async function(ev) {
const data = ev.target.dataItem.dataContext;
children = await api.getChildrenOf(data.id);
ev.target.dataItem.treeMapDataItem.children.values.push(...children);
});
}
^这不起作用,然后执行此操作然后缩小,我得到
我什至尝试更改基础数据然后调用
this.chart.invalidateRawData();
但无济于事。
有人在将此类动态子级添加到树形图方面有任何经验吗? 我不能简单地预先加载所有内容,不幸的是,可能的深度层太多了,请求将太大!
解决方法
您需要像这样直接将子项推入子项值:
for(var index=0; index < children.length; index++){
var newChildDataItem = new am4charts.TreeMapDataItem();
newChildDataItem.value = children[index].value;
newChildDataItem.name = children[index].name;
newChildDataItem.color = ev.target.dataItem.dataContext.color;
ev.target.dataItem.dataContext.children.insert(newChildDataItem);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。