From 6933f82ec0058584e9857eeaec5e4788a66914d6 Mon Sep 17 00:00:00 2001 From: ZLY Date: Fri, 22 Aug 2025 16:17:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(componentMarket):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 compCard 组件中添加点击跳转到组件详情页面的功能 - 新增 compDetails.tsx 文件实现组件详情页面 - 在路由配置中添加组件详情页面的路由 - 更新多语言文件,添加组件详情页面的翻译 --- src/locale/index.ts | 2 ++ src/pages/componentMarket/compCard.tsx | 9 ++++++++- src/pages/componentMarket/compDetails.tsx | 11 +++++++++++ src/pages/layout.tsx | 1 + src/routes/modules/componentMarket.ts | 9 ++++++++- 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/pages/componentMarket/compDetails.tsx diff --git a/src/locale/index.ts b/src/locale/index.ts index 9a5a496..41ec0a7 100644 --- a/src/locale/index.ts +++ b/src/locale/index.ts @@ -35,6 +35,7 @@ const i18n = { 'menu.componentLibrary': 'Component Library', 'menu.compositeCompLibrary': 'Composite Component Library', 'menu.componentMarket': 'Component Market', + 'menu.componentMarket.compDetails': 'Component Details', 'navbar.logout': 'Logout', 'settings.title': 'Settings', 'settings.themeColor': 'Theme Color', @@ -100,6 +101,7 @@ const i18n = { 'menu.componentLibrary': '组件库', 'menu.compositeCompLibrary': '复合组件库', 'menu.componentMarket': '组件市场', + 'menu.componentMarket.compDetails': '组件详情', 'navbar.logout': '退出登录', 'settings.title': '页面配置', 'settings.themeColor': '主题色', diff --git a/src/pages/componentMarket/compCard.tsx b/src/pages/componentMarket/compCard.tsx index 61de299..14012f2 100644 --- a/src/pages/componentMarket/compCard.tsx +++ b/src/pages/componentMarket/compCard.tsx @@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react'; import styles from './style/compCard.module.less'; import { compData } from '@/pages/componentMarket/test/data'; import { Card, Grid, Rate, Typography } from '@arco-design/web-react'; +import { useRouter } from 'next/router'; const { Row, Col } = Grid; @@ -11,6 +12,7 @@ interface CompCardProps { const CompCard: React.FC = ({ componentClassify }) => { const [componentClassifyData, setComponentClassifyData] = useState([]); + const router = useRouter(); useEffect(() => { if (componentClassify === '全部') setComponentClassifyData(compData); @@ -20,6 +22,11 @@ const CompCard: React.FC = ({ componentClassify }) => { } }, [componentClassify]); + + const handelDetails = () => { + router.push('/componentMarket/compDetails'); + }; + return (
@@ -33,7 +40,7 @@ const CompCard: React.FC = ({ componentClassify }) => { xl={6} xxl={6} key={i}> - + handelDetails()}> {/*左侧图片*/}
图片
{/*右侧数据*/} diff --git a/src/pages/componentMarket/compDetails.tsx b/src/pages/componentMarket/compDetails.tsx new file mode 100644 index 0000000..283f05a --- /dev/null +++ b/src/pages/componentMarket/compDetails.tsx @@ -0,0 +1,11 @@ +import React from 'react'; + +const CompDetails = () => { + return ( +
+ 组件详情 +
+ ); +}; + +export default CompDetails; \ No newline at end of file diff --git a/src/pages/layout.tsx b/src/pages/layout.tsx index 1181e70..57e5fc5 100644 --- a/src/pages/layout.tsx +++ b/src/pages/layout.tsx @@ -143,6 +143,7 @@ function PageLayout({ children }: { children: ReactNode }) { } buildRouteMap(routes); + console.log('routeMap:', routeMap); }, [routes]); function renderRoutes(locale) { diff --git a/src/routes/modules/componentMarket.ts b/src/routes/modules/componentMarket.ts index 13954c8..86e12aa 100644 --- a/src/routes/modules/componentMarket.ts +++ b/src/routes/modules/componentMarket.ts @@ -2,5 +2,12 @@ import { IRoute } from '@/routes/types'; export const componentMarketModule: IRoute = { name: 'menu.componentMarket', - key: 'componentMarket' + key: 'componentMarket', + children: [ + { + name: 'menu.componentMarket.compDetails', + key: 'componentMarket/compDetails', + ignore: true + } + ] }; \ No newline at end of file