Skip to content

Commit

Permalink
fix: 修复 setNodes 无效
Browse files Browse the repository at this point in the history
  • Loading branch information
lhbxs committed Feb 6, 2025
1 parent 6c6dca5 commit 041bdb6
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 7 deletions.
2 changes: 1 addition & 1 deletion packages/x-flow/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@xrenders/xflow",
"version": "1.0.4-beta.5",
"version": "1.0.4-beta.6",
"description": "一款功能强大、易用灵活的流程编辑器框架,帮助你轻松构建复杂的工作流和流程产品",
"keywords": [
"xflow"
Expand Down
3 changes: 2 additions & 1 deletion packages/x-flow/src/XFlow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -254,11 +254,12 @@ const XFlow: FC<FlowProps> = memo(props => {
const NodeEditorWrap = useMemo(() => {
return (
<NodeEditor
ref={nodeEditorRef}
data={activeNode?.values}
onChange={handleNodeValueChange}
nodeType={activeNode?._nodeType}
id={activeNode?.id}
ref={nodeEditorRef}

/>
);
}, [activeNode?.id]);
Expand Down
3 changes: 2 additions & 1 deletion packages/x-flow/src/components/NodeEditor/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ interface INodeEditorProps {
onChange: (data: any) => void;
nodeType: string;
id: string;
ref?: React.Ref<any>; // 添加 ref 属性
}

const NodeEditor: FC<INodeEditorProps> = forwardRef((props, ref) => {
const NodeEditor: FC<INodeEditorProps> = forwardRef((props, ref: any) => {
const { data, onChange, nodeType, id } = props;
const form = useForm();
// // 1.获取节点配置信息
Expand Down
2 changes: 1 addition & 1 deletion packages/x-flow/src/hooks/useFlow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ export const useFlow = () => {

const runAutoLayout = useMemoizedFn(() => {
const newNodes: any = autoLayoutNodes(storeApi.getState().nodes, storeApi.getState().edges, storeApi.getState().layout);
setNodes(newNodes, false);
setNodes(newNodes);
});

return useMemo(
Expand Down
6 changes: 3 additions & 3 deletions packages/x-flow/src/models/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,14 @@ const createStore = (initProps?: Partial<FlowProps>) => {
edges: addEdge(connection, get().edges),
});
},
setNodes: (nodes, isTransform = true) => {
set({ nodes: isTransform ? transformNodes(nodes) : nodes });
setNodes: (nodes) => {
set({ nodes: transformNodes(nodes) });
},
setEdges: edges => {
set({ edges });
},
addNodes: (payload, isTransform = true) => {
const newNodes = get().nodes.concat(isTransform ? transformNodes(Array.isArray(payload) ? payload : [payload]) : payload);
const newNodes = get().nodes.concat(transformNodes(Array.isArray(payload) ? payload : [payload]));
set({ nodes: newNodes });
},
addEdges: payload => {
Expand Down
3 changes: 3 additions & 0 deletions packages/x-flow/src/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,9 @@ export const capitalize = (string: string) => {
export const transformNodes = (nodes: any[]) => {
return nodes?.map(item => {
const { type, data, ...rest } = item;
if (type === 'custom') {
return item;
}

if (type === 'Switch' || type === 'Parallel') {
return {
Expand Down

0 comments on commit 041bdb6

Please sign in to comment.