npm 包 react-jsplumb 使用教程

阅读时长 6 分钟读完

简介

react-jsplumb 是一个基于 React 和 jsplumb 的组件库,用于构建流程图、拓扑图等可视化需求,提供了可自定义的节点和连线样式、自动排版等功能。

本文将详细介绍 react-jsplumb 的使用方法,以及常见问题的解决方案,帮助前端开发者更好地应用此组件库。

安装

使用 npm 安装 react-jsplumb:

基本使用

在项目的入口文件(比如 App.js)引入 react-jsplumb:

在渲染 JSX 时,使用 JsPlumbWrapper 组件:

节点

创建节点

使用 JsPlumbNode 组件可以创建一个节点:

其中 id 是节点的唯一标识符,Node 1 是在节点内部展示的内容。

自定义节点样式

可以通过 style 属性自定义节点的样式:

-- -------------------- ---- -------
------------
  -----------
  --------
    ---------------- --------
    ------- ---- ----- ------
    ------------- ------
    -------- -------
  --
-
  ---- -
--------------
展开代码

获取节点实例

可以通过 ref 属性获取节点实例,从而修改节点样式或调用节点方法:

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

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

  -------- -
    ------ -
      ----------------
        ------------ ----------- -------------------
          ---- -
        --------------
      -----------------
    --
  -
-
展开代码

连线

创建连线

使用 JsPlumbConnector 组件可以创建一条连线:

其中 sourcetarget 属性指向要连接的节点的 id

自定义连线样式

可以通过 style 属性自定义连线的样式:

-- -------------------- ---- -------
-----------------
  ---------------
  ---------------
  --------
    ------- ------
    ------------ --
    ---------- --
  --
--
展开代码

获取连线实例

可以通过 ref 属性获取连线实例,从而修改连线样式或调用连线方法:

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

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

  -------- -
    ------ -
      ----------------
        ------------ ---------------- ---------------
        ------------ ---------------- ---------------
        -----------------
          ---------------
          ---------------
          -----------------------
        --
      -----------------
    --
  -
-
展开代码

自动排版

使用 JsPlumbAutoLayout 组件可以自动排版节点,并自动创建连线:

常见问题

连线显示问题

出现连线不显示或显示异常的问题,可以考虑:

  1. 设置连线和节点的 z-index 属性,保证连线在节点之上;
  2. 确认连线的起始节点和终止节点的 id 属性是否正确;
  3. 确认连线的样式是否正确。

自动排版问题

使用 JsPlumbAutoLayout 进行自动排版时,出现连线相互覆盖、节点碰撞等问题,可以考虑:

  1. 设置 JsPlumbAutoLayoutgappadding 属性,调整节点之间和节点与边缘的距离;
  2. 调整节点的大小,让节点之间的间距变大。

示例代码

完整的示例代码可在 CodeSandbox 上查看:react-jsplumb example

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005521981e8991b448cf9cb

纠错
反馈

纠错反馈