编辑节点大小
交互式节点拖动手柄调整大小
功能概述
此示例演示了如何通过拖动手柄启用交互式节点调整大小。当选择节点时,调整大小手柄出现在角落和边缘,允许用户拖动以调整节点的尺寸。该演示展示了不同的调整大小控制器样式,并演示了调整大小如何与其他编辑功能集成。
核心特性实现
调整大小控制器组件
RGEditingResize 组件提供调整大小功能:
<RGSlotOnView>
<RGEditingNodeController>
<RGEditingResize />
</RGEditingNodeController>
</RGSlotOnView>
当节点设置为编辑节点时,调整大小控制器会自动出现。
激活调整大小模式
通过将节点设置为编辑节点来激活调整大小模式:
const onNodeClick = (nodeObject: RGNode, $event: RGUserEvent) => {
console.log('onNodeClick:', nodeObject);
graphInstance.setEditingNodes([nodeObject]);
};
单击节点会激活调整大小手柄。单击画布会清除选择。
可自定义的调整大小控制器样式
该演示允许在不同的视觉样式之间切换:
<SimpleUISelect
data={[
{value: '', text: 'Default'},
{value: 'my-graph-style-01', text: 'Customize Style 1'},
{value: 'my-graph-style-02', text: 'Customize Style 2'},
]}
currentValue={myGraphStyle}
onChange={setMyGraphStyle}
/>
父容器上的不同 CSS 类以不同方式样式化调整大小手柄,允许视觉自定义。
画布单击处理程序
在节点外部单击会清除编辑状态:
const onCanvasClick = () => {
graphInstance.setEditingNodes([]);
};
这提供了直观的交互,其中单击空白空间取消选择节点。
拖动事件动作配置
图配置为拖动模式:
const graphOptions: RGOptions = {
dragEventAction: 'move'
};
这确保拖动节点会移动它们而不是触发其他操作。
创意使用场景
UI 模型和线框工具
构建线框工具,设计师可以在其中创建和调整界面元素的大小。精确控制组件尺寸的能力有助于创建准确的模型。
卡片和仪表板布局设计器
创建用于设计基于卡片的布局或仪表板配置的工具。调整大小帮助设计师为不同的内容区域找到合适的比例。
组织架构图工具
用于组织架构图,其中不同层次级别的职位可能需要不同的大小。调整大小允许视觉上强调更重要的职位。
可变节点大小的心智映射
创建节点大小指示重要性或内容量的心智地图。用户可以调整节点大小以反映其重要性或容纳更多文本。
演示和海报设计
构建用于创建视觉演示的工具,其中元素需要适当的大小。调整大小手柄有助于实现平衡的构图。
表单和调查构建器
实施表单构建器,其中问题框、输入字段和其他元素需要调整大小以适应其内容。调整大小为不同的表单布局提供了灵活性。
信息图表和图表创建
创建信息图表工具,其中图表、文本框和图形元素需要相对调整大小。调整大小有助于实现视觉平衡和层次结构。
数据库架构和 ER 图工具
在数据库设计工具中使用,其中表大小应反映字段数量或复杂性。调整大小允许架构在视觉上传达结构信息。