Files
Hua.Todo/docs/project/研发工单-v1.2.0/03-Search-关键词检索.md
T
ShaoHua d81aa06681 refactor: 重构文档结构与环境配置,统一研发工单命名
1. 更新 .env 配置文件,替换原有云同步变量为 API 目标配置
2. 调整 publish-linux.ps1 中的文档路径,使用研发工单目录
3. 重构项目文档目录:将原 v1.2.0-tasks 迁移为研发工单-v1.2.0 目录,统一术语为"研发工单"替代"任务"
4. 更新 README.md 与各 PRD 文档的术语对照表,明确业务实体与研发工作项的区分
5. 新增多个研发工单文档,覆盖搜索、云同步、Linux 打包等模块
6. 删除旧的任务拆分文档,统一使用新的研发工单体系
2026-06-14 00:58:26 +08:00

1.6 KiB
Raw Blame History

03 - SearchTodo 待办项标题关键词检索

术语:本工单所指"Todo 待办项 / 任务标题 / 父子任务"为业务实体(Task / SubTask);"工单"指本研发工单本身。

目标

  • 在主界面顶部增加搜索框
  • 支持按 Todo 待办项标题进行模糊匹配(实时过滤)

范围

  • 前端 UI:输入框、清空按钮、键盘交互(Esc 清空、Enter 可选)
  • 过滤逻辑:对"树状 Todo(父子任务)"给出明确策略
  • 性能:Todo 数据量增大时仍保持可用(至少避免 O(n^2) 的明显退化)

依赖

  • 不依赖 Linux/Avalonia 或云同步,可独立并行完成

过滤策略(需在实现时确定,并写入实现说明)

树状 Todo(父子任务)常见两种策略,任选其一并保持一致:

  1. 命中即显示(含上下文)
    • 任意节点标题命中则显示该节点
    • 若子任务命中,可同时显示其祖先链(便于理解层级)
  2. 扁平化命中
    • 只显示命中的 Todo(可能丢失层级语义)

建议优先采用"命中即显示(含上下文)",用户可更快定位。

实施步骤(建议)

  1. 确定搜索框放置位置(主界面顶部)
  2. 增加 searchQuery 状态与派生 filteredTasks
  3. 将过滤逻辑接入现有列表渲染
  4. 补充交互细节
    • 输入时实时过滤
    • 清空按钮
    • Esc 清空、保持输入焦点(可选)

验收标准

  • 输入关键字后,Todo 列表实时过滤,仅展示命中结果(符合上述策略)
  • 清空后恢复原列表
  • 对中英文与大小写的处理行为明确(至少:英文大小写不敏感;中文按包含匹配)