antv x6自定义节点(使用vue渲染节点)

1、安装@antv/x6-vue-shape

# npm
npm install @antv/x6-vue-shape

# yarn
yarn add @antv/x6-vue-shape

# 在 vue2 下还需要安装 @vue/composition-api
yarn add @vue/composition-api --dev

主文件引入@antv/x6-vue-shape

import "@antv/x6-vue-shape";

安装并应用该包后,指定节点的shapevue-shape,并通过component属性来指定渲染节点的 Vue 组件。
2、自定义的节点





3、注册节点并进行渲染

Graph.registerVueComponent(
        "img-node",
        {
          template: ``,
          components: {
            Node,
          },
        },
        true
      );

注意:Node为自定义的节点组件,img-node是注册的节点名。

定义节点属性参数:

 let shape = {
        // inherit: "react-shape",
        shape: "vue-shape",
        width: 200,
        height: 32,
        component: "img-node",
        shape.label:'test采集任务04',
        data: {
          item: this.collectTaskItem,
        },
        attrs: {
          body: {
            rx: 4, // 圆角矩形
            ry: 4,
            strokeWidth: 0.4,
            stroke: "white",
            fill: "white",
          },
        },
        ports: ports,
      };
// 挂载至组件库 "group1"指组件库group1
 this.stencil.load(shape, "group1");

渲染结果:

完整文件(只涉及该功能,不是一个完整的项目)

链接:https://download.csdn.net/download/dmr123456/57054139

效果:(数据与后端接口绑定,实际使用需根据需要调整)

antv x6自定义节点(使用vue渲染节点)_第1张图片

你可能感兴趣的:(前端,html,前端,javascript,vue.js)