1.6 KiB
1.6 KiB
@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」(关掉同步后用例变红,实测)。