<NodeToolbar />
此組件可以在自訂節點的一側渲染工具列或工具提示。此工具列不會隨著視窗縮放,因此內容始終可見。
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? | 數字 節點和工具列之間的空間,以像素為單位測量。 |
|
# align? | "置中" | "開始" | "結束" |
|
注意事項
- 預設情況下,工具列僅在選取節點時可見。如果選取了多個節點,它將不可見,以防止工具列重疊或雜亂。您可以將
isVisible
屬性設定為true
來覆寫此行為。