From 656bc60194a30df092794201fad57a56e6cce292 Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Wed, 5 Nov 2025 11:09:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E8=82=A1=E7=A5=A8?= =?UTF-8?q?=E5=8D=A1=E7=89=87=E5=B8=83=E5=B1=80=E5=92=8C=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 布局优化: - 将分时图和K线图移至第二行公司名称后面 - 第二行布局:公司名称(左)+ 分时图 + K线图(右) - 删除图表标题文字,使布局更紧凑 - 移除未使用的 SimpleGrid 导入 性能优化: - 股票详情弹窗改为条件渲染 - 弹窗关闭时完全从 DOM 移除 - 减少不必要的组件渲染和内存占用 - 与四排模式弹窗保持一致的实现方式 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../DynamicNewsDetail/StockListItem.js | 102 +++++++++--------- 1 file changed, 48 insertions(+), 54 deletions(-) diff --git a/src/views/Community/components/DynamicNewsDetail/StockListItem.js b/src/views/Community/components/DynamicNewsDetail/StockListItem.js index 62d7e684..1a3ea80d 100644 --- a/src/views/Community/components/DynamicNewsDetail/StockListItem.js +++ b/src/views/Community/components/DynamicNewsDetail/StockListItem.js @@ -6,7 +6,6 @@ import { Box, Flex, VStack, - SimpleGrid, Text, Button, IconButton, @@ -167,56 +166,49 @@ const StockListItem = ({ - {/* 第二行:公司名称(彩色高亮) */} - - {stock.stock_name} - + {/* 第二行:公司名称 + 分时图 + K线图 */} + + {/* 左侧:公司名称 */} + + {stock.stock_name} + + + {/* 右侧:分时图 + K线图 */} + e.stopPropagation()}> + {/* 分时图 */} + + setIsModalOpen(true)} + /> + + + {/* K线图 */} + + setIsModalOpen(true)} + /> + + + {/* 分隔线 */} - {/* 分时图 & K线图 - 左右布局 */} - - - {/* 左侧:分时图 */} - e.stopPropagation()}> - - 分时图 - - setIsModalOpen(true)} - /> - - - {/* 右侧:K线图 */} - e.stopPropagation()}> - - 日K线 - - setIsModalOpen(true)} - /> - - - - - {/* 分隔线 */} - - {/* 关联描述 */} {relationText && relationText !== '--' && ( @@ -269,14 +261,16 @@ const StockListItem = ({ - {/* 股票详情弹窗 */} - setIsModalOpen(false)} - stock={stock} - eventTime={eventTime} - size="6xl" - /> + {/* 股票详情弹窗 - 未打开时不渲染 */} + {isModalOpen && ( + setIsModalOpen(false)} + stock={stock} + eventTime={eventTime} + size="6xl" + /> + )} ); };