Skip to Content
ReferenceComponents

<NodeToolbar />

Source on GitHub 

This component can render a toolbar or tooltip to one side of a custom node. This toolbar doesn’t scale with the viewport so that the content is always visible.

import { memo } from 'react'; import { Handle, Position, NodeToolbar } from '@xyflow/react'; const CustomNode = ({ data }) => { return ( <> <NodeToolbar isVisible={data.toolbarVisible} position={data.toolbarPosition}> <button>delete</button> <button>copy</button> <button>expand</button> </NodeToolbar> <div style={{ padding: '10px 20px' }}> {data.label} </div> <Handle type="target" position={Position.Left} /> <Handle type="source" position={Position.Right} /> </> ); }; export default memo(CustomNode);

Props

For TypeScript users, the props type for the <NodeToolbar /> component is exported as NodeToolbarProps. Additionally, the <NodeToolbar /> component accepts all props of the HTML <div /> element.

NameTypeDefault
...propsHTMLAttributes<HTMLDivElement>

Notes

  • By default, the toolbar is only visible when a node is selected. If multiple nodes are selected it will not be visible to prevent overlapping toolbars or clutter. You can override this behavior by setting the isVisible prop to true.
Last updated on
Morty Proxy This is a proxified and sanitized view of the page, visit original site.