import { DelIcon } from "@/components/bs-icons/del"; import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue } from "@/components/bs-ui/select"; import { useMemo } from "react"; import ComponentParameter from "./ComponentParameter"; import del from "../../../assets/npc/del.png"; export default function Component({ compId, options, disables, version, className, onChangeVersion, onClose }) { // 保留当前compId和上游组件 const nodes = useMemo(() => { if (!version?.data) return []; const showNodes = {} const edges = version.data.edges const deep = (_compId) => { edges.forEach(edge => { if (edge.target === _compId) { showNodes[edge.source] = true showNodes[edge.target] = true deep(edge.source) } }) } deep(compId) return version.data.nodes.filter(node => showNodes[node.id]) }, [version, compId]) // empty if (!version) return
{/* */}
// 版本信息 return
{version.update_time.replace('T', ' ')} {/* */}
组件 参数名 参数值
{ nodes.map(node => (
{node.data.type}
{ { (key, name, formItem) => (
{name}
{formItem}
) }
}
)) }
};