NodeProps
當您實作自訂節點時,它會被包裝在一個組件中,該組件啟用基本功能,如拖曳、選擇和移除。自訂節點會接收以下屬性:
export type NodeProps<NodeType extends Node = Node> = {
id: string;
data: NodeType['data'];
width: number;
height: number;
dragHandle?: boolean;
type?: NodeType['type'];
selected?: boolean;
isConnectable?: boolean;
zIndex?: number;
positionAbsolute: XYPosition;
dragging: boolean;
targetPosition?: Position;
sourcePosition?: Position;
};
注意事項
-
如果您的自訂節點內有控制項(如滑桿或輸入框)或其他不應拖曳節點的元素,您可以將
nodrag
類別新增至這些元素。這會防止預設的拖曳行為,以及當點擊具有此類別的元素時的預設節點選擇行為。CustomNode.svelte<div> <input className="nodrag" type="range" min={0} max={100} /> </div>
-
如果您的自訂節點內有滾動容器,您可以將
nowheel
類別新增至這些容器,以在自訂節點內滾動時停用預設畫布平移行為。CustomNode.svelte<div className="nowheel" style={{ overflow: 'auto' }}> <p>Scrollable content...</p> </div>
-
建立您自己的自訂節點時,您也需要記得設定樣式!自訂節點不像內建節點那樣具有預設樣式,因此您可以使用任何您喜歡的樣式設定方法。