import React, { useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; import { NodeEditorProps } from './index'; import { Form, Input, Select, Typography } from '@arco-design/web-react'; import { IconUnorderedList } from '@arco-design/web-react/icon'; import ParamsTable from '@/components/FlowEditor/nodeEditors/components/ParamsTable'; import { queryInstance } from '@/api/components'; const BasicNodeEditor: React.FC = ({ node, nodeData, updateNodeData }) => { const [currentCompInfo, setCurrentCompInfo] = useState(null); const [options, setOptions] = useState([]); const { projectComponentData, info, currentAppData } = useSelector(state => state.ideContainer); const getCurrentProjectStoreData = () => { const compData = projectComponentData[currentAppData.sceneId] || {}; const result: any[] = []; // 处理projectCompDto中的数据 if (compData.projectCompDto) { const { mineComp = [], pubComp = [], teamWorkComp = [] } = compData.projectCompDto; // 添加mineComp数据 mineComp.forEach((item: any) => { result.push({ ...item, type: 'mineComp' }); }); // 添加pubComp数据 pubComp.forEach((item: any) => { result.push({ ...item, type: 'pubComp' }); }); // 添加teamWorkComp数据 teamWorkComp.forEach((item: any) => { result.push({ ...item, type: 'teamWorkComp' }); }); } // 处理projectFlowDto中的数据 if (compData.projectFlowDto) { const { mineFlow = [], pubFlow = [] } = compData.projectFlowDto; // 添加mineFlow数据 mineFlow.forEach((item: any) => { result.push({ ...item, type: 'mineFlow' }); }); // 添加pubFlow数据 pubFlow.forEach((item: any) => { result.push({ ...item, type: 'pubFlow' }); }); } return result; }; const getCompInfo = () => { const flatData = getCurrentProjectStoreData(); setCurrentCompInfo(flatData.find((item: any) => item.id === nodeData.compId)); }; const getCompInstance = async () => { const res: any = await queryInstance(nodeData.compId); if (res.code === 200) { const newOptions = res.data.map((item: any) => { return { label: item.identifier, value: item.identifier }; }); setOptions(newOptions); } }; useEffect(() => { getCompInfo(); getCompInstance(); }, []); return (
updateNodeData('title', value)} /> updateNodeData('description', value)} /> 组件信息
组件类型:
{currentCompInfo?.type}
组件名称:
{currentCompInfo?.name}
组件描述:
{currentCompInfo?.description}