<NodeResizer />
可以使用 <NodeResizer />
组件为节点添加调整大小功能。它在节点周围呈现可拖动的控件,以便朝所有方向调整大小。
CustomNode.svelte
<script lang="ts">
import { Handle, Position, NodeResizer } from '@xyflow/svelte';
export let data;
</script>
<NodeResizer minWidth={100} minHeight={30} />
<Handle type="target" position={Position.Left} />
<div style={{ padding: 10 }}>{data.label}</div>
<Handle type="source" position={Position.Right} />
属性
对于 TypeScript 用户,<NodeResizer />
组件的属性类型导出为 NodeResizerProps
。
名称 | 类型 |
---|---|
# nodeId? | 字符串 |
# color? | 字符串 |
# handleClass? | 字符串 |
# handleStyle? | 字符串 |
# lineClass? | 字符串 |
# lineStyle? | 字符串 |
# isVisible? | 布尔值 |
# minWidth? | 数字 |
# minHeight? | 数字 |
# maxWidth? | 数字 |
# maxHeight? | 数字 |
# keepAspectRatio? | 布尔值 |
# shouldResize? | (事件: D3.DragEvent, 参数: ResizeParams & { 方向: 数字[]; }) => 布尔值 |
# onResizeStart? | (事件: D3.DragEvent, 参数: ResizeParams) => void |
# onResize? | (事件: D3.DragEvent, 参数: ResizeParams & { 方向: 数字[]; }) => void |
# onResizeEnd? | (事件: D3.DragEvent, 参数: ResizeParams) => void |
示例
前往 示例页面 了解如何实现。
自定义调整大小控件
要构建自定义调整大小控件,可以使用 NodeResizeControl 组件并对其进行自定义。