refactor: 恢复 TradingTimeFilter 到原版本

- 移除 timeRange prop 及其同步逻辑
- 恢复原有的 value 同步逻辑
- 简化组件接口

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
zdl
2025-11-06 15:33:54 +08:00
parent 42808501b0
commit 8799964961

View File

@@ -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 });
}
};