Files
2026-04-28 21:47:04 +08:00

1.3 KiB

Task 关闭按钮修复计划

问题分析

根据代码审查,g3-task-close 点击无反应的核心问题在于:

  1. 事件绑定方式错误:使用直接绑定而非事件委托
  2. taskId 未绑定到 DOM:无法通过 DOM 获取当前任务 ID
  3. closeTask 方法不完善:只删除数据,未删除对应的 DOM 元素

修复方案

1. 修改 renderTaskCenter 方法

  • 在 DOM 元素上添加 data-task-id 属性
  • 移除直接的事件绑定

2. 修改 closeTask 方法

  • 同时删除数据和对应的 DOM 元素

3. 添加事件委托(在初始化时绑定)

  • 使用事件委托绑定 .g3-task-close 点击事件

4. 检查 pointer-events 样式

  • 确保 .g3-task-close 按钮可点击

修改文件

  • d:\workspace\code\file-preview\g3-file\index.js

修改步骤

  1. 在 renderTaskCenter 的 HTML 模板中添加 data-task-id
  2. 移除 renderTaskCenter 中的直接事件绑定
  3. 修改 closeTask 方法,添加 DOM 删除逻辑
  4. 在初始化时添加事件委托绑定

风险评估

  • 低风险:修改局部代码,不影响其他功能
  • 需确保事件委托只绑定一次

验证方式

  1. 点击关闭按钮,检查控制台是否输出正确的 taskId
  2. 确认任务数据和 UI 都被正确移除