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

12 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
'@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」(关掉同步后用例变红,实测)。