首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与React集成/使用OrgChart插件

如何与React集成/使用OrgChart插件
EN

Stack Overflow用户
提问于 2018-11-12 12:14:56
回答 1查看 1.9K关注 0票数 2

我正在寻找一个react插件,以显示基于我在React应用程序中传递给它的JSON数据的组织结构图。我需要基本的功能,比如如果用户点击组织结构图中的员工,那么我就可以得到该员工的全部个人资料。我已经搜索过它并想出了"OrgChart“插件,但是现在我不知道如何在react.js中使用这个插件,因为我是react.js的初学者,所以不知道如何使用integrate.so,如果您能提供代码给我会很有帮助。

我见过链接,但由于知识较少,我无法理解在react.js中使用适当的文件层次结构将下面的代码放在哪里。

代码语言:javascript
复制
class OrgChart extends React.Component {
  componentDidMount() {
    this.$el = $(this.el);
    let datascource = {
      'name': 'Lao Lao',
      'title': 'general manager',
      'children': [
        { 'name': 'Bo Miao', 'title': 'department manager' },
        { 'name': 'Su Miao', 'title': 'department manager',
          'children': [
            { 'name': 'Tie Hua', 'title': 'senior engineer' },
            { 'name': 'Hei Hei', 'title': 'senior engineer',
              'children': [
                { 'name': 'Pang Pang', 'title': 'engineer' },
                { 'name': 'Xiang Xiang', 'title': 'UE engineer' }
              ]
            }
          ]
        },
        { 'name': 'Hong Miao', 'title': 'department manager' },
        { 'name': 'Chun Miao', 'title': 'department manager' }
      ]
    };

    this.$el.orgchart({
      'data' : datascource,
      'nodeContent': 'title',
      'pan': true,
      'zoom': true
    });
  }

  componentWillUnmount() {
    this.$el.empty();
  }

  render() {
    return (
      <div id="chart-container" ref={el => this.el = el}></div>
    );
  }
}

function Example() {
  return (
    <div>
      <OrgChart></OrgChart>
    </div>
  );
}

ReactDOM.render(
  <Example />,
  document.getElementById('root')
);
EN

回答 1

Stack Overflow用户

发布于 2018-12-26 00:23:44

我也尝试过这个Codepen的例子。

首先,您需要安装jqueryorgchart (我正在使用npm )。对于@types/jquery.,TypeScript也要安装

然后您需要将它们导入到您的React组件中。

代码语言:javascript
复制
import $ from "jquery";
const orgchart = require("orgchart");

(为了允许这种导入,我还将"allowSyntheticDefaultImports":true添加到tsconfig.json的compilerOptions中。)

您还需要在组件中声明$elel字段:

代码语言:javascript
复制
public $el;
public el;

现在,您可以将给定的componentDidMount和componentWillUnmount添加到组件中并返回

代码语言:javascript
复制
<div id="chart-container" ref={el => this.el = el}></div>

从你的渲染方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53261995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档