2.0.1 • Published 3 years ago

antv-orgtree v2.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

antv-orgtree

安装

$ npm i antv-orgtree

引用

说明,以vue项目为主
import orgTree from 'antv-orgtree'
export default {
  data () {
    return {
      treeData: {
        id: 'root',
        label: 'root',
        labelDes: '说明:根节点,最顶层元素, 最高级',
        value: '1576211',
        color: 'red',
        children: [
          {
            id: 'c1',
            label: 'c1',
            color: 'yellow',
            children: [
              {
                id: 'c1-1',
                label: 'c1-1'
              },
              {
                id: 'c1-2',
                label: 'c1-2',
                children: [
                  {
                    id: 'c1-2-1',
                    label: 'c1-2-1'
                  },
                  {
                    id: 'c1-2-2',
                    label: 'c1-2-2'
                  }
                ]
              }
            ]
          },
          {
            id: 'c2',
            label: 'c2'
          }
        ]
      }
    }
  },
  mounted () {
    let T = new orgTree({
      id: 'tree',
      data: this.treeData
    })
    T.initTree()
  }
效果

Image text


配置项

参数属性

属性类型默认值是否必填描述
idstring''容器 id,要定义容器的高宽
dataobject{}数据,属性结构的数据结构(参考 G6)
directionstring'TB''TB、LR、RL'树的方向,TB 指上到下,LR 从左到右,RL 从右到左
levelnumber string''设置展开的层级,从 1 开始,默认展开所有
nodeStyleobject{}节点样式配置,具体查看下面nodeStyle属性
lineStyleobject{}边样式配置,具体查看下面lineStyle属性
textStyleobject{}文本样式配置,具体查看下面textStyle属性
eventTypestring'click'事件的类型,还可以设置为 mouseEnter,针对树节点的展开搜索事件
treeTypestring number1具体有 1,2,3 可选分别对应不同节点数据配置。当类型为 2 时,配置 data 属性 labelDes;当类型为 3 时 data 属性配置 value 值
rootTreeTypestring number1设置根节点的 treeType ,只作用于根节点,未定义时默认是 treeType
quotaNamestring''指标名称,treeType=3 有效
quotaUnitstring''指标单位,treeType=3 有效
minimapbooleanfalse配置 minimap 插件
minimapIdstring''minimap 插件的对应容器,minimap:true 时有效
defindNodebooleanfalse开启自定义节点功能,渲染机制将会设置为 svg,上面所有节点 fill 等样式属性配置失效,且不支持箭头
nodeHtmlstring''defindNode 为 true 有效, 自定义节点 html,要求必须只包含一个根节点,数据参数配置格式规定为 %{data数据属性字段}% ,data属性字段不限制
isDragCanvasbooleantrue是否可拖拽画布
isZoomCanvasbooleantrue是否可缩放画布
subMultiplenumber1副节点的宽是主节点的倍数, treeType是2或者3有效

nodeStyle属性

属性类型默认值是否必填描述
sizearray180, 60节点的大小,配置高和宽
fillstring'#91d5ff'节点的颜色。如果只配置 fill,节点边框、market、线以及箭头都会继承 fill 颜色
subFillstring'#fff'副节点的颜色。treeType是2或者3有效
strokestring'#91d5ff'节点边框颜色。如果设置了 stroke,没有设置 edgeColor,那么线以及箭头会继承 stroke 颜色,不管 fill 是否配置了
radiusstring5节点的半径
lineWidthstring1节点边框大小
levelColorListArray[]层级颜色自定义,将会作用于节点、边、combo、箭头。不会作用域treeType是2或者3时的副节点
highLightColorstring'#91d5ff'高亮颜色,针对搜索功能(事件)开启有效

lineStyle属性

属性类型默认值是否必填描述
lineWidthstring number1边的宽度
strokestring'#91d5ff'边的颜色

textStyle属性

属性类型默认值是否必填描述
textColorstring'#000'label 属性对应的文本颜色
fontSizenumber12字体大小
subTextColorstring'#000'副节点label属性对应的文本颜色,treeType是2或者3有效
subFontSizenumber12副节点字体大小,treeType是2或者3有效
labelNamestringlabel文本字段属性,跟data对应绑定,渲染到主节点
labelDesNamestringlabelDes文本字段属性,跟data对应绑定,渲染到副节点,treeType是2有效

事件方法

方法名说明参数
initTree初始化树实例无参数
getNodeName节点被点击时的回调Function(data) 参数data返回节点的名称
EventSetLevel设置树的层级参数level,表示展开的层级,从1开始算起
EventSearchTree搜索树参数key,设置关键字,为模糊查询
setDirection方向树切换参数data ,只能为TB,RL,LR

实例

创建

新建对象let T = new orgTree(config),T就是树的实例
初始化 T.initTree()
config是配置实例的属性

参数属性配置

new orgTree({
  id: 'treeID',
  data: treeData,
  direction: 'RL',
  treeType: 3,
  quotaName: '总资产',
  quotaUnit: '万元'
})

事件绑定

获取点击节点事件返回内容 T.getNodeName(callBaclk(data))

动态设置层级 T.EventSetLevel(level)

搜索树 T.EventSearchTree(key)

方向树 T.setDirection(data)

data的数据格式

默认类型

treeData: {
  id: 'root',
  label: 'root',
  children: [{
    id: 'c1',
    label: 'c1'
  }]
}

treeType =2 类型

treeData: {
  id: 'root',
  label: 'root',
  labelDes: '这是根节点', // 描述文字
  children: [{
    id: 'c1',
    label: 'c1',
    labelDes: '这是节点C1',
  }]
}

treeType =3 类型

treeData: {
  id: 'root',
  label: 'root',
  value: '1576211',, // 指标值
  children: [{
    id: 'c1',
    label: 'c1',
    value: '618391',
  }]
}

具体案例

  • (1) typeTree =1 方向树,默认TB,可以自己动态配置,调用 T.setDirection(data) Image text Image text

  • (2)typeTree =2 Image text

    typeTree =3 Image text

  • (3)树展开的层级设置,可以设置默认或者调用方法动态设置 Image text

  • (4)搜索树,设置T.EventSearchTree(key) Image text

设置highLightColor属性,配置高亮的颜色 Image text

  • (5)插件minimap: true, minimapId: 'miniMapDomId' Image text

  • (6)属性

	levelColorList: ['#91d5ff', '#99CCCC', '#FFCCCC', '#0099CC', '#99CC66'],
     edgeColor: '#ccc'

Image text

  • (7)自定义dom 案例1

    defindNode: true,
           nodeHtml: ` 
           <div class="aaa" style="background-color: #fff; border: 2px solid #5B8FF9; border-radius: 5px; width: 120px; height: 40px; display: flex;">
             <div style="height: 100%; width: 33%; background-color: #CDDDFD;display: flex;
               align-items: center;justify-content: center;">
               <img alt="img" src="https://gw.alipayobjects.com/mdn/rms_8fd2eb/afts/img/A*sxK0RJ1UhNkAAAAAAAAAAABkARQnAQ" />
             </div>
             <span style="margin: auto; color: #5B8FF9"> %{id}%  </span>
           </div>
           `

    Image text

案例2

defindNode: true,
      nodeHtml: `
      <div class="aaa" style="padding: 0 10px; box-sizing:border-box;background-color: #fff; border: 2px solid #5B8FF9; border-radius: 5px; width: 160px; height: 80px; display: flex;flex-direction: column;">
        <div style="height: 50%; display: flex;align-items: center;">
          <img alt="img" src="https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Q_FQT6nwEC8AAAAAAAAAAABkARQnAQ" style="width: 30px;height: 30px;" />
          <span style="margin: auto; color: #5B8FF9"> %{id}% 节点 </span>
        </div>
        <div style="flex: 1;display: flex;align-items: center;justify-content: space-between; ">
          <span> 188802 元</span>
          <span>占比 10%</span>
        </div>
        <div style="background-color: #ccc; width: 100%; height: 5px;margin-bottom: 2px">
          <div style="background-color: red; width: 50%; height: 5px;"></div>
        </div>
      </div>`

Image text

2.0.1

3 years ago

2.0.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.0

3 years ago