<NodeResizer />
<NodeResizer />
元件可用於為您的節點新增調整大小功能。它會在節點周圍呈現可拖曳的控制項,以在所有方向調整大小。
import { memo } from 'react';
import { Handle, Position, NodeResizer } from '@xyflow/react';
const ResizableNode = ({ data }) => {
return (
<>
<NodeResizer minWidth={100} minHeight={30} />
<Handle type="target" position={Position.Left} />
<div style={{ padding: 10 }}>{data.label}</div>
<Handle type="source" position={Position.Right} />
</>
);
};
export default memo(ResizableNode);
屬性
對於 TypeScript 使用者,<NodeResizer />
元件的屬性類型會匯出為 NodeResizerProps
。
名稱 | 類型 |
---|---|
# nodeId? | string |
# color? | string |
# handleClassName? | string |
# handleStyle? | React.CSSProperties |
# lineClassName? | string |
# lineStyle? | React.CSSProperties |
# isVisible? | boolean |
# minWidth? | number |
# minHeight? | number |
# maxWidth? | number |
# maxHeight? | number |
# keepAspectRatio? | boolean |
# shouldResize? | (event: D3.DragEvent,params: ResizeParams & { direction: number[]; }) => boolean |
# onResizeStart? | (event: D3.DragEvent,params: ResizeParams) => void |
# onResize? | (event: D3.DragEvent,params: ResizeParams & { direction: number[]; }) => void |
# onResizeEnd? | (event: D3.DragEvent,params: ResizeParams) => void |
範例
前往範例頁面以了解如何完成此操作。
自訂調整大小控制
若要建立自訂調整大小控制項,您可以使用 NodeResizeControl 元件並加以自訂。