參考組件

<NodeToolbar />

GitHub 上的原始碼

此組件可以在自訂節點的一側渲染工具列或工具提示。此工具列不會隨著視窗縮放,因此內容始終可見。

import { memo } from 'react';
import { Handle, Position, NodeToolbar } from '@xyflow/react';
 
export 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

對於 TypeScript 使用者,<NodeToolbar /> 組件的 props 類型會匯出為 NodeToolbarProps

#nodeId?
字串 | 字串[]
透過傳入節點 ID 陣列,您可以為一組或一系列節點渲染單一工具提示。
#isVisible?
布林值
#position?
Position
#offset?
數字
節點和工具列之間的空間,以像素為單位測量。
10
#align?
"置中" | "開始" | "結束"

注意事項

  • 預設情況下,工具列僅在選取節點時可見。如果選取了多個節點,它將不可見,以防止工具列重疊或雜亂。您可以將 isVisible 屬性設定為 true 來覆寫此行為。