npm 包 @lndgalante/r-orgchart 使用教程

简介

@lndgalante/r-orgchart 是一个基于 React 的用于绘制组织树图的 npm 包。在前端开发中,我们通常需要绘制组织架构图以便更好的展示公司或者组织的结构、职位、人员等信息。@lndgalante/r-orgchart 不仅提供了简单易用的 API,同时还支持多种自定义配置以便更好的满足不同场景下的需求。

安装

使用 npm 进行安装:

--- ------- ----------------------

使用

在组件中引入 @lndgalante/r-orgchart, 然后在 render 函数内使用 OrgChart 组件进行渲染。

------ ----- ---- --------
------ -------- ---- -------------------------

----- --- - -- -- -
  ----- -------- - -
    ----- ------
    --------- -
      -
        ----- ------
        --------- -
          -
            ----- --------- ---
            --------- -
              -
                ----- -------- ---
                ------ --------------------------------------
                ------ ------------------------
              --
              -
                ----- -------- ---
                ------ --------------------------------------
                ------ ------------------------
              --
            --
          --
        --
      --
    --
  --

  ------ -
    ---- ----------------
      --------- --------------- --
    ------
  --
--

------ ------- ----

以上代码将会生成如下的组织树图:

API

属性

参数 类型 默认值 描述
tree object 组织树的数据对象,必须包含 name 属性。
chartClass string 组织树图的 CSS 类名
chartId string 组织树图元素的 id
exportBtn boolean false 是否显示导出按钮
exportFileName string orgchart.pdf 导出文件名
direction string l2r 组织树图的方向。可选值为 'l2r', 'r2l', 't2b', 'b2t'。
pan boolean true 是否启用组织树图的平移功能
zoom boolean true 是否启用组织树图的缩放功能

方法

名称 描述
exportChart 导出组织树图为 PDF 文件,文件名由 exportFileName 定义。
getSelectedNode 获取当前选中的节点,返回一个包含节点信息的对象。{id, name}

示例:

------ -------- ---- -------------------------

----- ------ - -- -- -
  ----- -------------- ---------------- - ---------------

  ----- ---------------- - ------ -- -
    ----------------------
  --

  ------ -
    -----
      --------- ----------- ------------------------------- --
      ----------- ----- ------------- -- ----------------------
      ------- ----------- -- ------------------------------ ------------
    ------
  --
--

定制化

@lndgalante/r-orgchart 提供了丰富的属性和方法,便于根据具体需求进行定制化。

节点属性

在 tree 对象中设置节点属性,支持以下属性:

属性名 类型 描述
name string 节点名称,必须提供
children array 子节点列表数组
photo string 节点头像 URL,可以使用 data URI
title string 节点职位(标题),位于节点下方
email string 节点邮件地址,点击节点可打开邮件客户端

示例:

----- -------- - -
  ----- ------
  ------ --------------------------------------
  ------ ------------------
  --------- -
    -
      ----- ------
      ------ ------ ---------- ---------
      --------- -
        -
          ----- --------- ---
          ------ --------- -- -------------
          --------- -
            -
              ----- -------- ---
              ------ --------------------------------------
              ------ ------------------------
            --
            -
              ----- -------- ---
              ------ --------------------------------------
              ------ ------------------------
            --
          --
        --
        -
          ----- --------- ---
          ------ --------- -- ------------
          --------- -
            -
              ----- -------- ---
              ------ --------------------------------------
              ------ ------------------------
            --
            -
              ----- -------- ---
              ------ --------------------------------------
              ------ ------------------------
            --
          --
        --
      --
    --
    -
      ----- ------
      ------ ------ --------- ---------
      --------- -
        -
          ----- -------- ---
          ------ --------------------------------------
          ------ ------------------------
        --
        -
          ----- -------- ---
          ------ --------------------------------------
          ------ ------------------------
        --
      --
    --
  --
--

节点样式

修改节点的样式有多种方法,可以通过 chartClass 属性定义 CSS 类名,也可以通过 CSS 属性直接修改节点样式。以下为一些常用的节点样式属性:

属性名 描述
.orgchart-node 所有节点的默认样式
.orgchart-level0 .active 一级节点的默认激活样式,可以在 chartClass 中定义样式 (e.g. .my-orgchart .orgchart-level0 .active)
.orgchart-level1 二级节点的默认样式
.orgchart-level2 三级节点的默认样式

示例:

------------ -------------- -
  ----------------- -----
-

------------ -------------- -------
------------ -------------- ------ -
  -------- -----
-

------------ -------------------- -
  ----------------- -----
-

------------ ---------------- ------- -
  ----------------- -----
-

以上 CSS 规则将会修改节点的样式,为节点添加灰色背景色、在默认情况下隐藏职位和邮件信息,当鼠标悬停在节点上时改变背景色为黄色,且激活的一级节点背景色变为红色。

总结

@lndgalante/r-orgchart 是一个非常实用的轻量级 React 组件库,它提供了许多有用的功能和 API,使得组织树图的绘制变得非常容易。希望本文能够对前端开发者们有所启发,让大家能够更加高效地使用 @lndgalante/r-orgchart 组件库。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600673defb81d47349e53ba2


猜你喜欢

  • npm 包 @dillingham/load-more 使用教程

    随着 web 应用越来越复杂,加载更多数据的需求也越来越普遍。@dillingham/load-more 是一个 npm 包,它可以帮助你实现无限滚动和点击加载更多的功能。

    4 年前
  • npm 包 ac-upload-list 使用教程

    前言 在现代 Web 开发中,文件上传功能是非常常见的需求。为了方便开发者快速构建上传功能,社区中慢慢形成了众多优秀的上传组件库。其中,ac-upload-list 是一个简单而又实用的上传组件,该组...

    4 年前
  • npm 包 @g-six/swiss 使用教程

    简介 @g-six/swiss 是一款基于 CSS 样式表的工具集,使用简单方便,适用于前端 Web 开发。它提供了多种现代样式,并且易于扩展。本文将介绍如何使用 @g-six/swiss 这个有用的...

    4 年前
  • npm 包 react-ld-amap 使用教程

    在前端开发中,使用地图是十分常见的需求。而 react-ld-amap 就是一个基于 React 的高德地图组件库,让地图相关的开发更为便捷和高效。 本文将介绍 react-ld-amap 的使用方法...

    4 年前
  • npm 包 kendo.message 使用教程

    在前端开发过程中,我们经常需要在用户界面上展示各种信息提示,比如成功或失败的弹框、警告框等等。如何高效地实现这些功能呢?这时我们可以使用 npm 上的 kendo.message 包。

    4 年前
  • npm 包 immutable-bus 使用教程

    前言 immutable-bus 是一种前端状态管理库,用于管理应用程序的数据流。它是基于 Facebook 的 Immutable.js 库构建的,提供了线程安全的状态更新机制和可预测的状态变化。

    4 年前
  • npm 包 songjianet-ts-as 使用教程

    在前端开发中,我们经常需要使用 TypeScript 语言进行代码编写,并使用 TypeScript 编译器进行代码转换。为了提高代码的可读性、可维护性和可扩展性,我们需要对 TypeScript 代...

    4 年前
  • npm 包 axios-is-buffer-removed 使用教程

    介绍 axios-is-buffer-removed 是一个用于 Axios 库的拦截器,用于在请求和响应时检测是否存在 ArrayBuffer 和 Buffer 数据类型,在 Axios 0.22....

    4 年前
  • npm 包 nduuid 使用教程

    什么是 npm 包 nduuid? npm 包 nduuid 是一个能够生成符合 UUID 规范的唯一标识符的工具库。它可以在前端(浏览器)和后端(Node.js)环境中使用。

    4 年前
  • npm 包 `webdriver-android-helper` 使用教程

    介绍 webdriver-android-helper 是一个用于移动浏览器测试自动化的 npm 包,它帮助你在 Android 设备上启动本地 Appium 服务器并创建 WebDriver 实例,...

    4 年前
  • npm 包 translation-checker 使用教程

    前端开发中,国际化(i18n)是一项非常重要的工作。但即使你使用了最好的工具进行翻译,也难免出现错误和不一致性。这时候,一个自动化的翻译检查工具就变得必不可少了。今天我们要介绍的就是一个非常好用的 n...

    4 年前
  • npm 包 localization-format 使用教程

    前言 本文介绍了 npm 包 localization-format 的基本使用方法,该 npm 包可以帮助前端工程师在网站或者应用程序中支持多语言。本文章的示例代码使用了 React 框架,但是该 ...

    4 年前
  • npm 包 copy-s3-files 使用教程

    前言:在开发 Web 应用的过程中,我们时常需要使用到对象存储服务。AWS S3 作为一种强大而灵活的云端存储服务,被广泛用于各种 Web 应用场景。npm 包 copy-s3-files 是一款方便...

    4 年前
  • npm包damaged-captain使用教程

    在前端开发中,使用npm包可以大幅提高开发效率,因为不必轮轮造轮子,可以直接使用成熟的工具。其中,damaged-captain是一个功能强大的npm包,它可以帮助开发者处理各种异常情况。

    4 年前
  • npm 包 inv-chisquare-cdf 使用教程

    在数据分析和统计学中,卡方分布是一种非常重要的概率分布,可用于模拟多个随机事件的结果以及检验假设。 inv-chisquare-cdf 是 npm 上提供的一种可以用于计算卡方分布累积分布函数(chi...

    4 年前
  • 如何使用 npm 包 state-based-string-parser

    介绍 state-based-string-parser 是一个用于解析特定格式字符串的 npm 包。它可以将字符串解析为 JSON 格式的数据,便于在前端应用程序中进行处理。

    4 年前
  • npm 包 state-based-json-parser 使用教程

    在前端开发中,我们经常需要解析 JSON 数据。State-based JSON Parser 是一个 NPM 包,它提供了一种基于状态机的方法,可以更有效地解析 JSON 数据。

    4 年前
  • npm 包 be-there 使用教程

    简介 be-there 是一个基于 Promise 封装的 JS 库,在检测 DOM 元素是否在当前视口可见区域时非常实用。它是一个轻量级的包,使用简单,可以方便地集成到您的项目中。

    4 年前
  • npm 包 dahlia-scripts 的使用教程

    前言 dahlia-scripts 是一个可以帮助我们快速搭建 React 项目的工具。它是一个基于 create-react-app 的脚手架配置,但是在此基础上进行了许多的更新和定制,使得我们可以...

    4 年前
  • npm 包 be-there.js 使用教程

    作为 Web 前端开发者,我们经常需要处理数值的比较、范围检查以及其他相似的操作。处理这些问题时,我们需要写大量的代码和各种条件语句,而这些工作让我们的代码难以维护和扩展。

    4 年前

相关推荐

    暂无文章