Merge pull request #2536 from wbkd/pengfu-v11_deleteSelectedElements
Feat: add delete elements helper function
This commit is contained in:
@@ -106,7 +106,7 @@ const BasicFlow = () => {
|
||||
<button onClick={toggleClassnames} style={{ marginRight: 5 }}>
|
||||
toggle classnames
|
||||
</button>
|
||||
<button onClick={logToObject}>toObject</button>
|
||||
<button onClick={logToObject} style={{ marginRight: 5 }}>toObject</button>
|
||||
</div>
|
||||
</ReactFlow>
|
||||
);
|
||||
|
||||
@@ -43,6 +43,7 @@ const initialNodes: Node[] = [
|
||||
const initialEdges: Edge[] = [
|
||||
{ id: 'e1-2', source: '1', target: '2', animated: true },
|
||||
{ id: 'e1-3', source: '1', target: '3' },
|
||||
// { id: 'e3-4', source: '3', target: '4' }
|
||||
];
|
||||
|
||||
let id = 5;
|
||||
@@ -64,6 +65,7 @@ const UseZoomPanHelperFlow = () => {
|
||||
addEdges,
|
||||
getNodes,
|
||||
getEdges,
|
||||
deleteElements
|
||||
} = useReactFlow();
|
||||
|
||||
const onPaneClick = useCallback(
|
||||
@@ -111,6 +113,16 @@ const UseZoomPanHelperFlow = () => {
|
||||
console.log('edges', getEdges());
|
||||
}, [getNodes, getEdges]);
|
||||
|
||||
const deleteSelectedElements = useCallback(() => {
|
||||
const selectedNodes = nodes.filter(node => node.selected);
|
||||
const selectedEdges = edges.filter(edge => edge.selected);
|
||||
deleteElements({ nodes: selectedNodes, edges: selectedEdges });
|
||||
}, [deleteElements, nodes, edges])
|
||||
|
||||
const deleteSomeElements = useCallback(() => {
|
||||
deleteElements({ nodes: [{ id: '2' }], edges: [{ id: 'e1-3' }] })
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
addEdges({ id: 'e3-4', source: '3', target: '4' });
|
||||
}, [addEdges]);
|
||||
@@ -137,6 +149,8 @@ const UseZoomPanHelperFlow = () => {
|
||||
<button onClick={onAddNode}>add node</button>
|
||||
<button onClick={onResetNodes}>reset nodes</button>
|
||||
<button onClick={logNodes}>useNodes</button>
|
||||
<button onClick={deleteSelectedElements}>deleteSelectedElements</button>
|
||||
<button onClick={deleteSomeElements}>deleteSomeElements</button>
|
||||
</div>
|
||||
<Background />
|
||||
<MiniMap />
|
||||
|
||||
Reference in New Issue
Block a user