Files
workspace/code/g3soft-libs/.changeset/table-checkbox-current-cell.md
T
2026-10-13 22:32:50 +08:00

1.6 KiB
Raw Blame History

@g3soft/ui
@g3soft/ui
patch

G3Table:checkbox 列点击后与其它单元格行为一致(该格成为当前格)。

  • 原先点复选框只切换值:因为 createCheckbox 把 mousedown 停掉了(换「一次点击就切换」——底座的 mousedown 会先激活行编辑、把节点替换掉,Chromium 因此不派发 click,不停就会变成「第一次点击只进编辑、第二次才切换」),底座收不到 mousedown,也就不会像点击其它格那样设选区、激活该行编辑、置当前行。
  • 后果(实测):值改了、change 也抛了,但整行不高亮、格子没有选中框,看不出在哪儿改;而且表格里没有任何选区 —— 接着按 Tab / 方向键会从 (0,0) 起步、焦点掉到 body,键盘用户从复选框出发就走不动。
  • 现在切换后会走同一条链路(移动选区 → 底座的 area-selection-change → 激活编辑 + 当前行 + 选中框),不再另写一套行为。EditableContext 增加可选钩子 onEditorInteract?(row, col)(内部接口,未导出为公开 API;不实现时行为与之前一致)。
  • 顺带说明:进入编辑后 Esc 会回滚整行(含这次勾选),而 change 已经抛给父级 —— 这是本组件既有的「即时提交 + Esc 回滚」语义(select 编辑器同理),不是本次改动引入的。
  • 单测锁「切换/键盘 Enter 都通知表格、仅渲染不通知」;真浏览器 e2e 锁「一次点击即切换 + 行高亮 + 选中框 + 能继续 Tab」(关掉同步后用例变红,实测)。