You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[repo:objectui] Inline-edit grid: Enter neither commits nor moves to the next row, Tab does not move, and single-click can open the editor unfocused (keystrokes lost, cell commits as 0) #15260
In the list view's inline-edit grid, Enter does not commit the cell and does not move to the next row; the editor simply stays open until the user clicks elsewhere. Tab does not move to the next cell either. For the "fill one numeric column down a list" task (a KPI reporter typing actual values for N indicator rows) this means every row costs a mouse click plus, if the user presses Enter expecting Excel behaviour, a confused moment. Single-click sometimes opens the editor without focusing the input, so the first keystrokes are lost and the cell commits as 0 (observed twice out of six cells in a scripted run; a double-click + select-all always works).
Reproduction
Platform 17.2.0 console, any grid with inlineEdit: true and a numeric column.
Click a numeric cell → editor opens.
Type 85, press Enter → the editor remains open with 85 in it; no "N 行已修改" bar until focus leaves the cell.
Press Tab → nothing moves.
Click another cell → the previous one commits (row marked modified), the new one opens.
Variant: single-click a cell and start typing immediately (within ~1 s) → the digits are not captured; the cell later commits as 0.0000.
Expected (spreadsheet conventions, which is what an inline grid promises)
Enter commits and moves focus to the same column in the next row; Shift+Enter moves up; Tab / Shift+Tab move right / left; Esc cancels.
The editor input must be focused (and its content selected) the moment the editor opens, so typing on single-click never loses keystrokes.
Optional: an explicit "fill-down" affordance is not needed — Enter-to-next-row covers the KPI case.
Activity
os-zhuang commentedon Sep 8, 2026
分诊:补状态
pm:queue标签
bugrepo:objectuipriority:p3维持 · 类型 Bug · 补pm:queue本卡此前没有六态状态标签(
repo:objectui是路由,不是状态)。⇒ 落在 SKILL.md:325 的待清项里;派发 backlog 按label:pm:queue取卡(:58) ⇒ 本卡此刻不在任何清单上。复现完整、落点明确(控制台行内编辑网格)、无可问之事 ⇒ 入队。卡面写在一张卡里,但它们不是一回事:
① 键盘导航缺失(Enter 不提交不换行、Tab 不移动) —— 可用性。用户有绕行(点别的单元格),代价是「填一列 N 行」每行多一次鼠标点击。
② ⭐ 单击可能打开一个未聚焦的编辑器 ⇒ 击键丢失,单元格提交为
0—— 这个不是可用性,是静默数据错误。⇒ ② 才是本卡真正贵的那一半:用户输入⚠️ 三分之一的复现率,而且失败模式是写入一个错误的数值,不是拒绝写入。
85,看到的是0.0000被提交,而没有任何东西报错。卡面实测「六个单元格里出现两次」——⛔ 不要因为整卡是 p3 就把 ② 也当成体验瑕疵。重判触发条件写死:若确认 ② 会在真实录入中把
0写进已保存记录(而非仅停留在未提交的编辑态),升 p2;若该对象的字段参与任何计算/汇总,升 p1 —— 一个静默的0会污染下游聚合,而 KPI 场景正是这种。期望行为是一份明确的规格,⛔ 不必再设计
卡面把它写成了电子表格惯例,可直接当验收:
⇒ 一个声称
inlineEdit: true的网格就是在承诺这套惯例;缺的不是功能,是承诺没有兑现。⛔ 一处卡面本身的缺陷:缺具名读者
与姊妹卡 #15259(同一次 dogfood、同一秒创建)相同:留在 objectstack 带
repo:*的卡应当是真协调卡,正文必须具名读者。本卡是纯 objectui 控制台缺陷报告 —— 抽掉 objectui 什么都不剩。⇒ 两条出路,⛔ 分诊席不代选:① 正文补具名 objectui 读者;或 ② 在 objectui 立卡(带出处头),本卡关为 moved。⚠️ 未单方面转仓,理由同 #15259:本仓现有十余张
repo:objectui+pm:queue,是既有惯例。objectstack-ai/kpi的kpi_entry_line),而且两卡在同一句话里互为对照 —— #15259 说「行内网格只发改动的单元格,成功」,正是本卡出问题的那个网格。⇒ 同一位接手方连着看,⛔ 但不合卡:两者机制不同(提交组成 vs 聚焦时序与键盘处理)。⛔ 分诊席边界:不认领、不派发、不写码、不合并、不裁决。
Generated by Claude Code