OrgChart - 配置项详解 (精选+原创)

article/2025/10/6 23:39:33

OrgChart 使用教程 (一)

没用开场白…
近日来,公司要求做一份web组织架构图,正好我使用的框架是vue ,自己写太麻烦,于是找一找有没有合适的组件,直接套用。
于是找到了 OrgChart 这个 开源的组织架构平台
很不巧啊!官网的网络访问不了,有些案例图无法加载出来!!
这让我一个二流子英语的业余选手很苦恼啊!!
于是我开始扒源码,英文注释什么的百度翻译,然后写这篇博文记录一下,如果有合适的效果,也不容易忘,吼吼!

开篇

官网上的案例 用vue的很明确了,这个自行导入吧
在这里插入图片描述
然后可以看到 它定义了一个 oc 的方法 然后在生命周期挂载后,用vue自带的this.refs API 将dom元素传参进去 ,同时传进去了一个配置项参数

this.chart = new OrgChart(domEl, {nodes: x,nodeBinding: {ield_0: "name",field_1: "title",img_0: "img"
}
});

配置项详解:

  1. lazyLoading : boolean

延迟加载是一种在页面加载时延迟非关键节点加载的技术。相反,这些非关键节点是在需要时加载的。
默认值 true

  1. enableSearch : boolean

是否启用高级搜索
上面的搜索框

  1. orientation:OrgChart.orientation.top

简单理解方向 可选值如下:默认值为OrgChart.orientation.top

  • OrgChart.orientation.top
  • OrgChart.orientation.bottom
  • OrgChart.orientation.right
  • OrgChart.orientation.left
  • OrgChart.orientation.top_left
  • OrgChart.orientation.bottom_left
  • OrgChart.orientation.right_top
  • OrgChart.orientation.left_top
  1. mouseScrool :OrgChart.action.zoom

设置操作 可以接受以下的值

  • OrgChart.action.zoom - will zoom in/out on mouse scroll 鼠标支持放大缩小
  • OrgChart.action.xScroll - left/right move of the chart on mouse scroll 支持左右滑窗
  • OrgChart.action.yScroll - up/down move of the chart on mouse scroll 支持上下滑窗
  • OrgChart.action.none - do nothing on mouse scroll 什么都不支持,只能脱拽
  1. nodeBinding:Object

组织结构图JS中的节点绑定将节点数据映射到节点模板参数。

var chart = new OrgChart(document.getElementById("orgchart"), {nodeBinding: {field_0: "name" },nodes: [{ id: 1, name: "Amber McKenzie" },{ id: 2, pid: 1, name: "Ava Field" },{ id: 3, pid: 1, name: "Peter Stevens" }]});

在上面的示例中,字段名将从模板中变为字段0。
也可以在模板中定义自己的字段,有关更多信息,请访问网站上的字段页面。

  1. enableDragDrop: boolean

借助组织结构图的拖放功能,可以轻松地移动节点。

var chart = new OrgChart(document.getElementById("tree"), {enableDragDrop: true,});

这个功能牛了

  1. enableTouch: boolean

是否启动触摸

  1. nodeMenu: Menu

启动编辑 新增 删除 等功能

 nodeMenu:{details: {text:"Details"},edit: {text:"Edit"},add: {text:"Add"},remove: {text:"Remove"}       },
  1. nodeContextMenu: Menu

这个和上面的一起比较, nodeMenu有三个小点,这个在鼠标右键 ,用法同上

 nodeContextMenu:{details: {text:"Details"},edit: {text:"Edit"},add: {text:"Add"},remove: {text:"Remove"}       },
  1. dragDropMenu: Menu

使用带有拖放和分组功能的dragDropMenu。
这个我也不知道效果是啥,还是搭配使用?有高人指点嘛

  var chart = new OrgChart(document.getElementById("tree"), {dragDropMenu: {addInGroup: { text: "Add in group" },addAsChild: { text: "Add as child" }},});
  1. menu: Menu

支持导出到excel、导出到svg和其他组织结构图操作。
还可以定义自己的组织结构图操作。
有关更多信息,请参阅组织结构图.ImportFormCSV

  1. toolbar: Object

工具栏是一组图标或按钮。

   var chart = new OrgChart(document.getElementById("tree"), {toolbar: {layout: true,zoom: true,fit: true,expandAll: false},...}); 

效果是:在右下角显示工具,这个画风我笑了 …gei gei gei

  1. sticky: boolean

移动组织结构图后,停止将其锁定到屏幕顶部。
默认值 true
没什么效果 好像跟某个配置冲突吧 没去研究

  1. nodeMouseClick: OrgChart.action.details

可以使用的值

  • OrgChart.action.edit 将打开右侧单击的节点的编辑视图
  • OrgChart.action.details 将打开右侧单击的节点的详细信息视图,详细信息是只读的。
  • OrgChart.action.expandCollapse 将展开或折叠子节点
  • OrgChart.action.none 对节点单击事件不执行任何操作
  1. showXScroll: OrgChart.scroll.none

OrgChart.scroll.visible 显示水平滚动条

  1. showYScroll: OrgChart.scroll.none

OrgChart.scroll.visible 显示垂直滚动条

  1. template: string

换主题,一共这些预设主题

  • ana
  • ula
  • olivia
  • belinda
  • rony
  • mery
  • polina
  • mila
  • diva
  • luba
  • derek
  • base
  • deborah
  1. tags: Tags

使用标签选项,您可以:
为标记节点设置特定模板
设置标记节点的默认状态(展开/折叠)
为标记的节点定义组
将节点设置为标记节点的助手
为标记节点设置节点菜单项

//为标记节点设置特定模板。有关详细信息,请参阅一个图表中的多个模板。
var chart = new OrgChart(document.getElementById("tree"), {tags: {Management: {template: "rony"}},     nodes: [{ id: 1, tags: ["Management"] },        ]});
//设置标记节点的默认状态(展开/折叠)。有关详细信息,请参见展开/折叠。
var chart = new OrgChart(document.getElementById("tree"), {tags: {hide: {state: OrgChart.COLLAPSE}},nodes: [{ id: "1" },{ id: "2", tags: ["hide"] },{ id: "3" }]});//为标记的节点定义组。有关详细信息,请参见分组。var chart = new OrgChart(document.getElementById("tree"), {tags: {HRs: {group: true,groupName: "HR Team",groupState: OrgChart.EXPAND,template: "group_grey"}},nodes: [{ id: 1, tags: ["HRs"] }]});    //将节点设置为标记节点的助手。详见助手。var chart = new OrgChart(document.getElementById("tree"), {tags: {assistant: {template: "mery"}},nodes: [{ id: 1, tags: ["assistant"] }]}); // 为标记的节点设置节点菜单项。有关详细信息,请参见节点菜单项。  var chart = new OrgChart(document.getElementById("tree"), {tags: customMenuItems: {nodeMenu: {add: { text: "Add New" }}}},});   
  1. linkBinding: Object

组织结构图JS中的链接绑定将节点数据映射到链接模板参数。
就是在线中 有个注释

  var chart = new OrgChart(document.getElementById("tree"), {linkBinding: {link_field_0: "createdAt"},nodes: [{ id: "1", name: "Amber McKenzie"  },{ id: "2", pid: "1", createdAt: "Since 08/08/2018" },{ id: "3", pid: "1", createdAt: "Since 05/04/2018" }]}); 
  1. searchFields: Array string

按字段类型进行搜索

 var chart = new OrgChart(document.getElementById("tree"), {searchFields: ["name", "title", etc...],...}); 
  1. nodes: Array string

节点数据JSON对象的数组。节点选项是图表的数据源。

var chart = new OrgChart(document.getElementById("tree"), {...nodes: [{ id: "1" },{ id: "2", pid: "1" },{ id: "3", pid: "1", tags: ["Sales"] }]}); 
  1. clinks: Array string

Add C link 添加辅助线 实线

  var chart = new OrgChart(document.getElementById('tree'), {clinks: [{from: 4, to: 0, label: 'text'}, {from: 4, to: 5, template: 'blue', label: '4 reports to 5' },{from: 2, to: 6, template: 'yellow', label: 'lorem ipsum' },]   ...});
  1. slinks: Array string

Add S link 添加辅助线 虚线

     var chart = new OrgChart(document.getElementById('tree'), {slinks: [{from: 4, to: 0, label: 'text'}, {from: 4, to: 5, template: 'blue', label: 'reports to' },{from: 2, to: 6, template: 'yellow', label: 'lorem ipsum' },]   ...});
  1. levelSeparation: number

每个级别之间的差距 默认60

 var chart = new OrgChart(document.getElementById("tree"), {...levelSeparation: 50});
  1. siblingSeparation :number,

子树中节点之间的间距。 默认20

var chart = new OrgChart(document.getElementById("tree"), {...siblingSeparation: 50});  
  1. subtreeSeparation: number,

子树之间的间隙,默认40

 var chart = new OrgChart(document.getElementById("tree"), {...subtreeSeparation: 50}); 
  1. mixedHierarchyNodesSeparation: number

垂直布局中节点之间的间距。

 var chart = new OrgChart(document.getElementById("tree"), {...mixedHierarchyNodesSeparation: 5}); 
  1. padding: number

填充选项在组织结构图的所有四个边上设置填充区域

 var chart = new OrgChart(document.getElementById("tree"), {...padding: 20});  
  1. padding: number
  • OrgChart.normal
  • OrgChart.mixed
  • OrgChart.tree
  • OrgChart.treeLeftOffset
  • OrgChart.treeRightOffset

http://chatgpt.dhexx.cn/article/aHjtqMWs.shtml

相关文章

orgChart实现竖向排列组织图(js实现组织机构图)

一、前言 快过年了,博主这几天不算忙,又刚好用到orgChart来做组织机构图,写了这篇文章,欢迎大家指正。注意:我说的竖向是指文字竖着排列。 依赖库:jquery,jquery颜色选择器,orgCha…

武汉python自动化测试招聘,python自动化测试工程师招聘_Python-自动化测试面试

1、以你做过的项目,举例来说一下你的自动化测试是怎么做的? 参考答案:就拿简历上的ecshop项目来说吧,在编写脚本前,我们会对系统进行评估,确认这个系统可不可以实现UI自动化,如果可以的话&#…

测试ai模糊软件,AE/PR人工智能自动人脸检测马赛克模糊插件

Blace – AI Face Detection是一款作用在AE以及PR软件中的AI插件,能够自动识别检测人脸并智能添加马赛克边框,易于使用且基于AI的检测,控制检测区域并排除检测,有需要的用户不要错过了,赶快来下载吧! 兼容性…

自动化面试题

自动化面试题 自动化:将人工测试转换成自动化脚本/工具去运行 优势:节省时间(20% - 30%),提高工作效率 Python selenium/appium/airtest/requests unittest Jenkins WEB自动化 1. 什么样的项目适合做自动化&…

Python&OpenCV自动人脸打马赛克&调色系统[源码&UI操作界面&部署教程]

1.视频演示: [项目分享]Python&OpenCV自动人脸打马赛克&调色系统[源码&UI操作界面&部署教程] 2.图片演示: 3.图像颜色检索&替换: 4.马赛克分类: 使用opencv库中的haar…

Python opencv:人眼/人脸识别并实时打码处理

利用Pythonopencv实现从摄像头捕获图像,识别其中的人眼/人脸,并打上马赛克。 系统环境:Windows 7 Python 3.6.3 opencv 3.4.2 一、系统、资源准备 要想达成该目标,需要满足一下几个条件: 找一台带有摄像头的电脑…

seleniumxpath打码平台

selenium使用 一 bs4搜索文档树二 css选择器三 selenium基本使用四 无界面浏览器五 selenium其它用法5.1 登录百度5.2 获取位置属性大小,文本5.3 元素操作5.4 执行js代码5.5 切换选项卡5.6 浏览器前进后退5.7 异常处理 六 selenium登录cnblogs获取cookie七 抽屉半自…

第十一章 自动编码器

简介:自动编码器是一种可以进行无监督学习的神经网络模型。一般而言,一个完整的自动编码器主要由两部分组成,分别是用于核心特征提取的编码部分和可以实现数据重构的解码部分。 1.自动编码器入门 在自动编码器中负责编码的部分也叫做编码器&a…

Python 题库自动化面试题

1、自动化代码中,用到了哪些设计模式? 单例设计模式 工厂模式 PO设计模式 数据驱动模式 面向接口编程设计模式 2、什么是断言( Assert) ? 断言 Assert 用于在代码中验证实际结果是不是符合预期结果, 如果测试用例执行失败会抛出异常并提供断言日志 3、什么…

Python实现对视频自动打码

我们在观看视频的时候,有时候会出现一些奇怪的马赛克,影响我们的观影体验,那么这些马赛克是如何精确的加上去的呢? 本次我们就来用Python实现对视频自动打码! 准备工作 环境咱们还是使用 Python3.8 和 pycharm2021 即…

Python——超级鹰打码平台实现selenium对b站的自动化登陆

目录 一 、Chrome(谷歌)驱动器的下载 (一)驱动器版本选择 (二)下载Chrome驱动器 二、需要安装的库 (一)安装命令 (二)指定selenium版本原因 三、实现步…

selenium 自动化测试

Selenium 是一个用于Web应用程序测试的工具,支持多平台、多浏览器、多语言去实现自动化测试。目前在Web自动化领域应用越来越广泛。 selenium 介绍 Selenium的特点如下: 开源、免费多浏览器支持:Firefox、Chrome、IE、Opera、Edge多平台支…

深度学习中的自动编码器:TensorFlow示例

什么是自动编码器? 自动编码器是重建输入的绝佳工具。简单来说,机器就是一个图像,可以生成一个密切相关的图片。这种神经网络中的输入是未标记的,这意味着网络能够在没有监督的情况下进行学习。更准确地说,输入由网络编码,仅关注最关键的特征。这是自动编码器因降维而流行…

博客论坛自动采集器 - 蓝天采集器源码

介绍: 博客论坛自动采集器 做一个自动采集文章的网站,在你网站根目录创建一个目录随便我这边是caiji,然后把采集器的源码上传到caiji里面去。 安装:你的域名/caiji访问配置好数据库什么的安装就行。数据前缀不要和原来博客的相同。 安装完成…

Pytorch基础-07-自动编码器

自动编码器(AutoEncoder)是一种可以进行无监督学习的神经网络模型。一般而言,一个完整的自动编码器主要由两部分组成,分别是用于核心特征提取的编码部分和可以实现数据重构的解码部分。 1 自动编码器入门 在自动编码器中负责编码…

python手工打码_python云打码

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 为什么需要了解打码平台的使用现在很多网站都会使用验证码来进行反爬,所以为了能够更好的获取…

python你实现视频自动打码,了解妨碍你观看精彩的马赛克是怎么精准形成的

前言 嗨喽!大家好呀,这里是魔王呐~ 我们在观看视频的时候,总有一些精准得马赛克挡住我们想看得地方,严重影响我们的观影体验!! 那么这些马赛克是如何精确的加上去的呢? 本次我们就来用Python…

易语言php验证码识别,易语言自动打码验证码服务端带案例

易语言通用验证码识别服务端,用来做接口还是可以的! 将127.0.0.1改成自己的服务器IP,或者域名 php案例: $rel = file_get_contents(http://www.zhuangjiba.com/d/file/help/2018/08/cfdefaddb3f47d78f8c66a7de28720aa.png); $code = _upload($rel); echo 验证码:.$code; f…

自动打码神器是什么

自动打码神器是什么 提到自动打码神器,可能很多网友会想到答题吧自动打码平台、远程答题器等,除了这一些软件之外,还有不少我们都不知道的软件正在等待大家的发掘。今天,小编就给大家先介绍一款专门批量识别验证码的平台——答题吧…

如何用 ISO 镜像制作 U 盘安装盘(通用方法、无需 WinPE)

文章目录 ★扫盲若干【基本概念】★啥是【通用】制作方法?★为啥选择这几款工具?★rufus 的玩法(Windows 平台)★UNetbootin 的玩法(跨平台)★dd 的玩法(跨平台)★优缺点对比★读者…