feat(flowEditor): 新增自定义节点并优化节点类型注册
- 新增 LocalNode 组件用于系统组件节点 - 在 flowEditor/index.tsx 中实现节点类型动态注册 - 更新 sideBar/config/localNodeData.ts,修正 JSON 封装节点类型 - 删除未使用的 handleNode 组件 - 优化 draggableNode 组件,移除冗余代码master
parent
e4ff51fdb3
commit
88f6b9f4eb
@ -1,14 +0,0 @@
|
||||
import React from 'react';
|
||||
import { Handle, Position } from '@xyflow/react';
|
||||
|
||||
const CustomNode = ({ data }) => {
|
||||
return (
|
||||
<>
|
||||
<div style={{ padding: '10px 20px' }}>
|
||||
{data.label}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export default CustomNode;
|
||||
@ -0,0 +1,25 @@
|
||||
import React from 'react';
|
||||
import { useStore } from '@xyflow/react';
|
||||
import styles from '@/pages/flowEditor/node/style/base.module.less';
|
||||
import NodeContent from '@/pages/flowEditor/components/nodeContent';
|
||||
|
||||
const LocalNode = ({ data, id }: { data: any; id: string }) => {
|
||||
const title = data.title || '系统组件';
|
||||
|
||||
// 获取节点选中状态 - 适配React Flow v12 API
|
||||
const isSelected = useStore((state) =>
|
||||
state.nodeLookup.get(id)?.selected || false
|
||||
);
|
||||
|
||||
return (
|
||||
<div className={`${styles['node-container']} ${isSelected ? styles.selected : ''}`}>
|
||||
<div className={styles['node-header']} style={{ backgroundColor: '#1890ff' }}>
|
||||
{title}
|
||||
</div>
|
||||
|
||||
<NodeContent data={data} />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default LocalNode;
|
||||
Loading…
Reference in New Issue