JavaScript is required

图谱全局配置项(RGOptions

RGOptions 用于定义图谱的全局行为、交互模式、默认样式和默认布局。

1. 运行时关键规则

<RelationGraph>options 本质上是初始化配置

图谱初始化后,如果要动态修改配置,请通过图谱实例 API(不同版本可能是 setOptions / updateOptions)进行更新。

const graphOptions = {
  showToolBar: false,
  wheelEventAction: 'scroll',
  dragEventAction: 'move'
};

const graphInstance = RGHooks.useGraphInstance();
graphInstance.updateOptions({
  wheelEventAction: 'zoom'
});

2. 交互类配置

常用交互控制项:

  • wheelEventAction?: 'zoom' | 'scroll' | 'none'
  • dragEventAction?: 'move' | 'selection' | 'none'
  • disableDragNode?: boolean
  • disableDragLine?: boolean
  • disableNodePointEvent?: boolean
  • disableLinePointEvent?: boolean
  • defaultExpandHolderPosition?: 'hide' | 'left' | 'top' | 'right' | 'bottom'

编辑器常用示例:

const graphOptions = {
  wheelEventAction: 'scroll',
  dragEventAction: 'selection',
  disableLinePointEvent: false,
  defaultExpandHolderPosition: 'right'
};

3. 节点默认样式配置

  • defaultNodeColor
  • defaultNodeBorderColor
  • defaultNodeBorderWidth
  • defaultNodeBorderRadius
  • defaultNodeWidth
  • defaultNodeHeight
  • checkedItemBackgroundColor

说明:

  • 这些值在节点自身未显式设置对应字段时生效。
  • 部分默认值在“节点创建/导入时”生效,后续修改默认值不会自动回写已有节点数据。

4. 连线默认样式配置

  • defaultLineColor
  • defaultLineWidth
  • defaultLineShape
  • defaultJunctionPoint
  • defaultLineJunctionOffset
  • defaultLineTextOnPath
  • defaultLineTextOffsetX
  • defaultLineTextOffsetY
  • lineTextMaxLength
  • multiLineDistance
  • defaultPolyLineRadius
  • defaultLineMarker

说明:

  • 与节点默认值类似,主要在连线创建/导入阶段生效。
  • 多箭头样式建议在 <svg><defs> 中定义,再通过 startMarkerId/endMarkerId 在连线数据里引用。

5. 视图、性能与系统配置

  • showToolBar
  • toolBarDirection, toolBarPositionH, toolBarPositionV
  • backgroundColor
  • mouseWheelSpeed
  • minCanvasZoom, maxCanvasZoom
  • performanceMode
  • fullscreenElementXPath
  • instanceId(SSR 场景建议手动设置)
  • debug

6. RGOptions.layout 的生效时机

layout 作为默认布局参数,会在以下流程中被使用:

  • graphInstance.setJsonData(...)
  • graphInstance.doLayout()
  • 使用 initialData 的初始化流程
const graphOptions = {
  layout: {
    layoutName: 'tree',
    from: 'left',
    treeNodeGapH: 150,
    treeNodeGapV: 10
  }
};

7. 推荐基础配置模板

const graphOptions = {
  instanceId: 'my-graph-main',
  showToolBar: false,
  wheelEventAction: 'scroll',
  dragEventAction: 'move',
  defaultNodeColor: '#ffffff',
  defaultNodeBorderColor: '#666666',
  defaultNodeBorderWidth: 1,
  defaultLineColor: '#cccccc',
  defaultLineWidth: 2,
  minCanvasZoom: 5,
  maxCanvasZoom: 500,
  performanceMode: false,
  layout: {
    layoutName: 'center'
  }
};

8. 常见误区

  • 以为直接替换 options 响应式对象就能自动更新运行时行为。
  • 手动坐标与自动布局在同一阶段混用,导致结果不稳定。
  • 把“全局默认值”当成会自动覆盖所有历史节点/连线。

9. 下一步阅读