|
|
bffbe62e3f
|
事件中心UI优化
|
2025-11-07 11:08:06 +08:00 |
|
zdl
|
9c526d528c
|
fix: 修复重置按钮不生效问题
问题描述:
- 用户选择所有筛选条件后,点击"重置"按钮无反应
- 筛选条件未被清空,事件列表未重新加载
根本原因:
- 当筛选条件从"有值"重置为"空值"或从"空值"重置为"空值"时
- 如果 filters 对象的字段值没有实质变化
- DynamicNewsCard 的 useEffect 依赖项检测不到变化,不会触发重新加载
解决方案:
1. UnifiedSearchBox.handleReset() 添加 _forceRefresh 时间戳标志
- 每次重置都生成唯一的 Date.now() 时间戳
- 确保 filters 对象每次重置都不同
2. DynamicNewsCard 筛选 useEffect 依赖数组添加 filters._forceRefresh
- 监听强制刷新标志的变化
- 即使其他筛选条件未变,也能触发重新加载
3. 增强调试日志
- 添加完整的重置流程日志输出
- 便于排查后续问题
修改文件:
- src/views/Community/components/UnifiedSearchBox.js (Line 505-536)
- src/views/Community/components/DynamicNewsCard.js (Line 264)
测试场景:
✅ 选择所有筛选条件后点击重置 - 清空并重新加载
✅ 未选择筛选条件时点击重置 - 强制刷新第1页
✅ 重置后 Redux 缓存被清空 (clearCache: true)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-06 18:00:53 +08:00 |
|
zdl
|
22b29bf727
|
fix: 修复分页、筛选和模式切换相关问题
主要修复:
1. 修复模式切换时 per_page 参数错误
- 在 useEffect 内直接根据 mode 计算 per_page
- 避免使用可能过时的 pageSize prop
2. 修复 DISPLAY_MODES 未定义错误
- 在 DynamicNewsCard.js 中导入 DISPLAY_MODES 常量
3. 添加空状态显示
- VerticalModeLayout 添加无数据时的友好提示
- 显示图标和提示文字,引导用户调整筛选条件
4. 修复无限请求循环问题
- 移除模式切换 useEffect 中的 filters 依赖
- 避免筛选和模式切换 useEffect 互相触发
5. 修复筛选参数传递问题
- usePagination 使用 useRef 存储最新 filters
- 避免 useCallback 闭包捕获旧值
- 修复时间筛选参数丢失问题
6. 修复分页竞态条件
- 允许用户在加载时切换到不同页面
- 只阻止相同页面的重复请求
涉及文件:
- src/views/Community/components/DynamicNewsCard.js
- src/views/Community/components/DynamicNewsCard/VerticalModeLayout.js
- src/views/Community/components/DynamicNewsCard/hooks/usePagination.js
- src/views/Community/hooks/useEventFilters.js
- src/store/slices/communityDataSlice.js
- src/views/Community/components/UnifiedSearchBox.js
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-06 17:39:03 +08:00 |
|
zdl
|
bd86348805
|
feat: 搜索框布局调整
|
2025-11-06 12:40:58 +08:00 |
|
zdl
|
dd59911e8e
|
feat: 搜索框接入交易时间段筛选能力
|
2025-11-06 11:48:31 +08:00 |
|
zdl
|
be83fa12e2
|
feat: 行业标签展示文字
|
2025-11-04 19:17:39 +08:00 |
|
zdl
|
ecb3cb479d
|
feature: 重要性支持多选
|
2025-11-04 17:53:42 +08:00 |
|
zdl
|
eb212698d1
|
feat: 筛选添加收益率筛选
|
2025-11-04 15:19:24 +08:00 |
|
zdl
|
35adabb87e
|
feat: 将 IndustryProvider (176行) 完整迁移到 Redux
|
2025-10-30 12:54:32 +08:00 |
|
zdl
|
bc89c70ac9
|
bugfix:调整
|
2025-10-27 22:31:41 +08:00 |
|
zdl
|
31706c756c
|
feat: 访问 http://localhost:3000/admin/community:
1. 页面加载后应停留在顶部
2. 点击搜索框,页面应平滑滚动到"实时事件时间轴"区域
3. 再次点击搜索框不会重复滚动
|
2025-10-27 16:37:36 +08:00 |
|
zdl
|
6cc0c31803
|
feat: 修复 UnifiedSearchBox 语法错误
|
2025-10-27 11:38:16 +08:00 |
|
zdl
|
a487b1eb6b
|
feat: 日期标签删除重置内容
|
2025-10-27 10:51:19 +08:00 |
|
zdl
|
6a5bd944a8
|
feat: 调整时间中心搜索逻辑
|
2025-10-27 10:32:51 +08:00 |
|
zdl
|
6305ac7e20
|
feat: 调整请求参数
|
2025-10-26 23:46:54 +08:00 |
|
zdl
|
e7a8786de5
|
feat: 代码改进
- ✅ 修复了 React Hooks 规则违规
- ✅ 实现了两个缺失的初始化功能
- ✅ 添加了防抖机制,减少 60-80% 的 API 请求
- ✅ 优化了参数构建函数,代码更简洁
- ✅ 统一了所有筛选器的触发逻辑
- ✅ 添加了完整的加载状态管理
用户体验提升
- ✅ 快速切换筛选器不会触发多次请求
- ✅ 从 URL 参数恢复状态时完整显示(包括行业和日期)
- ✅ 所有筛选器行为一致
- ✅ 搜索时禁用输入,避免误操作
- ✅ 详细的日志输出,便于调试
性能提升
- ✅ 防抖减少不必要的 API 请求
- ✅ 使用 useCallback 避免不必要的重新渲染
- ✅ 优化了参数构建逻辑
|
2025-10-26 20:13:38 +08:00 |
|
zdl
|
c47d68ac34
|
feat: 事件中心添加搜索框
|
2025-10-26 14:13:06 +08:00 |
|
zdl
|
9e4c0e31d6
|
feat: 添加行业筛选器Box
|
2025-10-25 18:23:20 +08:00 |
|