From 879996496183845a1d28f71fa1bd9530bd5a42e5 Mon Sep 17 00:00:00 2001 From: zdl <3489966805@qq.com> Date: Thu, 6 Nov 2025 15:33:54 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=81=A2=E5=A4=8D=20TradingTimeFil?= =?UTF-8?q?ter=20=E5=88=B0=E5=8E=9F=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 timeRange prop 及其同步逻辑 - 恢复原有的 value 同步逻辑 - 简化组件接口 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../Community/components/TradingTimeFilter.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/views/Community/components/TradingTimeFilter.js b/src/views/Community/components/TradingTimeFilter.js index b23780a8..2ebe7d5b 100644 --- a/src/views/Community/components/TradingTimeFilter.js +++ b/src/views/Community/components/TradingTimeFilter.js @@ -26,11 +26,12 @@ const TradingTimeFilter = ({ value, onChange }) => { setSelectedKey(null); setCustomRange(null); logger.debug('TradingTimeFilter', '外部重置,清空选中状态'); - } else if (value !== selectedKey) { + } else { // 外部选中值变化,同步内部状态 setSelectedKey(value); + logger.debug('TradingTimeFilter', '外部value变化,同步内部状态', { value }); } - }, [value, selectedKey]); + }, [value]); // 获取当前交易时段 const getCurrentTradingSession = () => { @@ -219,21 +220,28 @@ const TradingTimeFilter = ({ value, onChange }) => { // 按钮点击处理 const handleButtonClick = (config) => { - logger.debug('TradingTimeFilter', '按钮点击', { config }); + logger.debug('TradingTimeFilter', '按钮点击', { + config, + currentSelectedKey: selectedKey, + willToggle: selectedKey === config.key + }); if (selectedKey === config.key) { // 取消选中 setSelectedKey(null); onChange(null); + logger.debug('TradingTimeFilter', '取消选中', { key: config.key }); } else { // 选中 setSelectedKey(config.key); - onChange({ + const timeConfig = { range: config.range, type: config.type, label: config.label, key: config.key - }); + }; + onChange(timeConfig); + logger.debug('TradingTimeFilter', '选中新按钮', { timeConfig }); } };