-1

Is there a way to prevent a specific node from being deleted? I have set deleteKeyCode={'Delete'} but want to exclude a node by type from this.

    <ReactFlow
      nodes={nodes}
      edges={edges}
      onConnect={handleOnConnect}
      onDragOver={handleOnDragOver}
      onDrop={handleOnDrop}
      connectionLineComponent={ConnectionLine}
      onNodesChange={handleOnNodesChange}
      onConnectStart={() => dispatch(setIsConnecting(true))}
      onConnectStop={() => dispatch(setIsConnecting(false))}
      onEdgesChange={handleOnEdgesChange}
      onInit={setReactFlowInstance}
      deleteKeyCode={'Delete'}
      defaultZoom={1}
      nodeTypes={customNodeTypes}
      edgeTypes={customEdgeTypes}>
      <Background className={classes.flowBackground} />
      <Controls />
    </ReactFlow>

1 Answers1

0

Instead of hard-coding the string 'Delete', use a variable who's value changes from a blank '' to 'Delete' depending on whether or not you want to exclude the node from deletion:

const isDeleting = 'Yes' ? 'Delete' : '';

deleteKeyCode={isDeleting}

Jeffrey Ram
  • 1,132
  • 1
  • 10
  • 16