Graphin 最基础的角色是 React 组件,下表是<Graphin />
的接口说明.
属性名 | Typescript 类型 | 默认值 | 说明 |
---|---|---|---|
data | GraphinProps.data | 是 | 数据结构 |
layout | Layout | {type:"grid"} | 设置布局 |
theme | ThemeType | {mode:"#light",...} | 设置主题 |
ref | ReactRef | - | Graphin 组件 Ref |
width | number | - | Graphin 画布宽度,推荐通过父元素容器设置宽度,默认宽度为 100% |
height | number | - | Graphin 画布高度,推荐通过父元素容器设置宽度,默认最小高度 500px |
style | React.CSSProperties | {height: '100%',width: '100%',background: '#fff'} | Graphin 画布的样式 |
containerId | string | graphin-container | Graphin 容器的 ID,一般用于多实例管理的场景下 |
containerStyle | React.CSSProperties | {height: '100%',width: '100%',position: 'relative'} | Graphin 容器的样式 |
modes | G6.Modes | - | 推荐使用 Behaviors |
plugins | G6.Plugins | - | 推荐使用 Components |
defaultNode | 节点的默认样式配置 | ||
defaultEdge | 边的默认样式配置 | ||
defaultCombo | Combo 的默认样式配置 | ||
nodeStateStyles | 不同状态下的节点样式配 | ||
edgeStateStyles | 不同状态下的边样式配置 | ||
comboStateStyles | 不同状态下的 Combo 样式配置 | ||
fitView | boolean | false | 是否开启画布自适应。开启后图自动适配画布大小 |
fitCenter | boolean | false | 开启后,图将会被平移,图的中心将对齐到画布中心,但不缩放。优先级低于 fitView |
fitViewPadding | number[] | [0,0] | fitView 为 true 时生效。图适应画布时,指定四周的留白 |
minZoom | number | 0.2 | 最小缩放比例 |
maxZoom | number | 10 | 最大缩放比例 |
enabledStack | boolean | false | 是否启用 stack,即是否开启 redo & undo 功能 |
maxStep | number | 10 | redo & undo 最大步数, 只有当 enabledStack 为 true 时才起作用 |
import React from 'react';import Graphin, { Utils } from '@antv/graphin';const data = Utils.mock(10).circle().graphin();const Demo = () => {const graphinRef = React.createRef();React.useEffect(() => {const {graph, // g6 的Graph实例apis, // Graphin 提供的API接口} = graphinRef.current;console.log('ref', graphinRef, graph, apis);}, []);return (<div className="App"><Graphin data={data} ref={graphinRef}></Graphin></div>);};export default Demo;
import React from 'react';import Graphin, { Utils, GraphinContext } from '@antv/graphin';const data = Utils.mock(10).circle().graphin();const CustomComponents = () => {// 只要包裹在Graphin内的组件,都可以通过Context获得Graphin提供的graph实例和apisconst { graph, apis } = React.useContext(GraphinContext);return null;};const Demo = () => {return (<div className="App"><Graphin data={data} ref={graphinRef}><CustomComponents /></Graphin></div>);};export default Demo;
参考 G6 graph 的实例方法:https://g6.antv.vision/zh/docs/api/graphFunc/get_set
常用的方法如下:
未来 Graphin 的版本迭代,将会将常用的接口 在 Graphin 上层聚合透出
属性名 | 描述 | 类型 | 默认值 |
---|---|---|---|
handleAutoZoom | 将视窗缩放至自适应画布的大小 | () => { text: string; ratio: number; } | (必选) |
handleRealZoom | 将视窗缩放到1:1大小 | () => { text: string; ratio: number; } | (必选) |
handleChangeZoom | 自定义缩放 | () => { text: string; ratio: number; } | (必选) |
handleZoomIn | 放大 | () => { text: string; ratio: number; } | (必选) |
handleZoomOut | 缩小 | () => { text: string; ratio: number; } | (必选) |
focusNodeById | 根据节点ID查询 | (nodeId: string) => void | (必选) |
highlightNodeById | 根据节点ID,高亮关联节点 | (nodeId: string[]) => void | (必选) |