我正在寻找一个react插件,以显示基于我在React应用程序中传递给它的JSON数据的组织结构图。我需要基本的功能,比如如果用户点击组织结构图中的员工,那么我就可以得到该员工的全部个人资料。我已经搜索过它并想出了"OrgChart“插件,但是现在我不知道如何在react.js中使用这个插件,因为我是react.js的初学者,所以不知道如何使用integrate.so,如果您能提供代码给我会很有帮助。
我见过这链接,但由于知识较少,我无法理解在react.js中使用适当的文件层次结构将下面的代码放在哪里。
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')
);发布于 2018-12-26 00:23:44
我也尝试过这个Codepen的例子。
首先,您需要安装jquery和orgchart (我正在使用npm )。对于@types/jquery.,TypeScript也要安装
然后您需要将它们导入到您的React组件中。
import $ from "jquery";
const orgchart = require("orgchart");(为了允许这种导入,我还将"allowSyntheticDefaultImports":true添加到tsconfig.json的compilerOptions中。)
您还需要在组件中声明$el和el字段:
public $el;
public el;现在,您可以将给定的componentDidMount和componentWillUnmount添加到组件中并返回
<div id="chart-container" ref={el => this.el = el}></div>从你的渲染方法。
https://stackoverflow.com/questions/53261995
复制相似问题