You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactFlow图形锁定咨询:如何实现isLocked=true的只读视图模式?

ReactFlow 开启只读锁定模式的最简实现

当然可以,ReactFlow本身就提供了现成的Props来快速实现只读锁定视图,不需要复杂的自定义逻辑。最简实现就是组合几个核心Props,把所有交互能力完全关闭:

  • 给<ReactFlow>组件添加isLocked={true}:直接锁定整个画布,节点和边都无法拖拽、移动
  • 加上connectable={false}:禁止用户创建新边或修改现有边的连接关系
  • 配置deleteKeyCode={null}:禁用通过键盘按键(默认是Delete)删除节点/边的功能
  • 可选补充:如果要完全禁止画布缩放,再加上zoomOnScroll={false}、zoomOnDoubleClick={false}

下面是直接可用的代码示例:

import ReactFlow from 'reactflow';
import 'reactflow/dist/style.css';

// 从数据库读取的已完成图形数据
const savedNodes = [...];
const savedEdges = [...];

export default function ReadOnlyFlow() {
  return (
    <ReactFlow
      nodes={savedNodes}
      edges={savedEdges}
      isLocked={true}
      connectable={false}
      deleteKeyCode={null}
      zoomOnScroll={false}
      zoomOnDoubleClick={false}
    />
  );
}

这样配置后,画布就完全进入只读状态:用户无法拖拽节点、修改边、删除元素,也不能缩放画布,完美匹配你展示已完成图形的需求。

内容的提问来源于stack exchange,提问作者Nadyrbek Sultanov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 19:27:03