Antv G6动态更新自定义节点数据

背景

由于公司项目需求,最近研究了一下使用蚂蚁的antv G6来构建拓扑图。

成果实例

 

由于很多个性需求,所以图中的各种edge和node都是使用G6.registerNodeG6.registerEdge两个方法来自定义的。下面贴一下我自定义节点和边的代码片段。

     G6.registerNode(item.iconName, {
          draw(cfg, group) {
            if (item.iconName === 'warning1') {
              // 警报灯使用字体图标(制作闪烁动画)
              // 定义字体图标
              const keyShape = group.addShape('text', {
                attrs: {
                  x: 0,
                  y: 0,
                  fontFamily: 'iconfont', // 对应css里面的font-family: "iconfont";
                  textAlign: 'center',
                  textBaseline: 'middle',
                  text: '\ue60e', // 具体图标
                  fontSize: item.size,
                  fill: '#eaa153'
                },
                // must be assigned in G6 3.3 and later versions. it can be any value you want
                name: item.type
              })
              // 添加闪烁动画
              keyShape.animate(
                (ratio) => {
                  const color = ratio > 0.5 ? '#eaa153' : '#f83f3f'
                  return {
                    fill: color
                  }
                },
  • 21
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恁说叫啥就叫啥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值