首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Amcharts图4 TreeMap项目链接

Amcharts图4 TreeMap项目链接
EN

Stack Overflow用户
提问于 2018-10-12 09:41:49
回答 1查看 566关注 0票数 1

我有来自amcharts4的一级树状图。

我试图设置一个链接时,每一个项目点击它,但无法实现我想要的。

正如文件上说的那样,我试过:

代码语言:javascript
复制
level1_bullet.label.url = "https://www.google.com/";

代码语言:javascript
复制
level1_bullet.url = "https://www.google.com/";

两者都不起作用,我可以补充

代码语言:javascript
复制
level1_bullet.label.html = "<a href='https://google.com/'>{name}</a>";

但是有一个问题,截断选项不工作,我可以看到太大的名字最小的子弹,包装也没有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-17 21:13:43

若要将LabelBullet转换为链接,请尝试:

代码语言:javascript
复制
level1_bullet.label.url = "https://www.google.com/";

如果我们想要动态urls,我们必须使用适配器url是一个简单的字符串,并不真正用于显示,因此它不会通过我们的字符串格式,这意味着像{name}这样的占位符不会被解析。幸运的是,Labels有url。它可以是这样的:

代码语言:javascript
复制
level1_bullet.label.adapter.add("url", function(url, label) {
  var query = "";
  var data = label.dataItem;
  if (data.dataContext && data.dataContext.name) {
    query = "?q=" + data.dataContext.name;
  }
  return url + query;
});

适配器的处理程序将url设置为Label (本例中为"https://www.google.com/")作为第一个参数,Label实例作为第二个参数。我们return最终是自定义格式的url,也就是说,它不会永久地设置它,这是每次应用程序计算出url的值时运行的。

我在这里创建了一个演示:

https://codepen.io/team/amcharts/pen/79194dfcfccaa05f5ebe20e1095f3087

让我知道这是否有意义,如果这对你想要做的事情有帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52776727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档