import React, { useEffect, useState } from 'react'; import styles from './style/index.module.less'; import CustomCard from '@/components/CustomCard/index'; import CompCard from './compCard'; import CompDetails from './compDetails'; import { Tabs, Input, Select, Button } from '@arco-design/web-react'; import { IconUndo } from '@arco-design/web-react/icon'; import { getComponentClassify } from '@/api/componentClassify'; const TabPane = Tabs.TabPane; const InputSearch = Input.Search; // 分类数据接口 interface ClassifyItem { id: string; classifyName: string; classifyType: string; remark?: string; sort?: number; } function ComponentMarket() { const [menuList, setMenuList] = useState([]); const [activeTab, setActiveTab] = useState('全部'); const [searchClassify, setSearchClassify] = useState('全部'); const [searchKeyword, setSearchKeyword] = useState(''); const [selectedComp, setSelectedComp] = useState(null); // 获取分类菜单列表 const getMenuList = async () => { try { const res: any = await getComponentClassify('component'); if (res?.code === 200 && res?.data) { // 添加"全部"选项到菜单列表 const allOption = { id: '0', classifyName: '全部', classifyType: 'component', sort: 0 }; setMenuList([allOption, ...res.data]); } } catch (error) { console.error('获取分类菜单失败:', error); } }; useEffect(() => { getMenuList(); }, []); // 处理Tab切换 const handleTabChange = (key: string) => { setActiveTab(key); }; // 处理搜索 const handleSearch = (value: string) => { setSearchKeyword(value); }; // 处理分类选择 const handleClassifyChange = (value: string) => { setSearchClassify(value); }; return ( <>
{/*公用搜索*/}
{selectedComp && ( )}
{selectedComp ? : {/*单类型数据渲染*/} {menuList.map((item) => ( {item.classifyName === activeTab && ( )} ))} }
); } export default ComponentMarket;