表格行内编辑适合在浏览记录时修改一个简单字段。点击后保留原行位置,明确显示保存和取消;保存成功再回到阅读状态,失败则保留输入并解释原因。失去焦点是否保存、按 Esc 是否撤销,都要提前约定,不能让用户靠试错判断数据有没有改动。
下面修改虚构工单 TK-104 的标题,将“账单无法下载”改成“9月账单无法下载”。可以先在原型里演示表格的读写切换,检查这一格从进入编辑到保存结果的完整路径;整张表的列宽、筛选和批量操作,可另按B 端数据表格设计方法处理。

先判断这一格是否适合留在表格里改
工单列表的主要任务是查看和处理工单,偶尔修正一条标题,不必为此离开列表。标题是单行文本,校验简单,操作后果也能在同一行解释,适合本例的行内编辑。
如果修改需要同时填写原因、上传附件、联动多个必填字段,狭窄的单元格就不够用了;可转入侧栏或详情表单。若整个页面的主要目的就是编辑大量数据,也应采用专门的编辑模式。Atlassian 的行内文本编辑指南同样提醒,不要在主要用途是编辑的页面上到处套用行内编辑。
本例还固定三个条件:一次只编辑一个单元格;标题必填,去掉首尾空白后不超过 50 个字符,按产品统一的字符计数方式校验;每次都由用户点“保存”确认。后文的所有状态均按这组规则展开。
进入编辑后,让保存和取消有明确位置
阅读状态显示完整标题,提供可见的编辑入口;不要只靠双击这个隐藏动作。鼠标悬停或键盘焦点进入时可以加强入口提示,但可编辑性不能完全依赖鼠标悬停。
点击 TK-104 的“编辑标题”后,输入框填入原值“账单无法下载”,焦点进入输入框。保存和取消按钮紧邻当前字段,按钮的可访问名称包含动作含义,不只留下两个无法辨别的图标。列标题、工单编号和其他行仍保持可见,帮助用户确认正在修改哪条记录。
选择文字还是把光标放到末尾,要结合常见任务。本例以补充月份为主,不自动全选全文,光标放在原标题末尾;用户可以自行移动到开头插入“9月”。不要一进入编辑就清空原值。
| 操作 | 本例行为 | 最终值与去向 |
|---|---|---|
| 点保存,或在单行框内按 Enter | 先做本地校验,再发送保存请求 | 收到成功结果后,阅读态显示返回的标题 |
| 点取消,或尚未提交时按 Esc | 放弃本次输入,退出编辑 | 仍显示“账单无法下载” |
| 点击表格其他区域 | 保留编辑态和输入,不自动保存 | 当前修改仍待用户处理 |
| 尝试编辑另一行 | 提示先保存或取消当前修改 | 不丢失 TK-104 的输入,也不打开第二个编辑框 |
| 保存请求进行中 | 显示“正在保存”,阻止重复提交 | 不把取消包装成已提交请求的撤销 |
输入法正在组合中文时,Enter 应先用于确认候选词,不应误触发保存。Tab 仍用于移动焦点,本例不把它定义成保存快捷键。保存中暂不提供取消操作;若产品确实需要撤销已提交变更,应另设计可追踪的撤销能力,不能只把输入框关掉。
字段错误留在格内,保存失败保留用户的字
把标题清空后点击保存,应保持编辑态,在字段附近显示“请填写工单标题”,焦点留在输入框。不能回到列表并弹一句“操作失败”,让用户重新寻找哪条记录、哪个字段出了问题。
标题有效但服务端明确返回“未保存”时,保留“9月账单无法下载”,显示“标题未保存,请重试”,并提供重试和取消。点击取消仍恢复最近一次已确认的“账单无法下载”,不能把失败的输入当成旧值。Atlassian 的行内编辑说明提供了读写视图与确认、取消的基本模式;错误内容和恢复规则还需要结合业务补足。
网络超时则不同:页面可能没收到回复,但服务端已经完成修改。此时先显示“正在确认保存结果”,查询当前记录后再决定回到阅读态还是重试。不要在结果未知时断言“保存失败”,也不要让每次重试都无条件创建一次新的更新。整页的保存策略可参照未保存提醒与失败恢复,本篇只把它落实到这一格的去向。

保存成功后,不要让当前行突然跑走
服务端确认保存成功后,阅读态显示返回的标题“9月账单无法下载”,给当前字段一个短暂的成功反馈,并将键盘焦点返回这一格的编辑入口。不要把焦点送回表格第一行,也不要只发出一个鼠标用户才能察觉的颜色变化。
如果当前列表按标题排序,修改后可能改变排序位置。可以在本次操作完成后保留行位置,提示“排序将在刷新列表后更新”,由用户刷新;也可以重新排序并把更新后的记录保持在视野内。两者择一并说明。本例采用前者,列表状态栏在有待更新排序时显示该提示。
筛选也类似。如果标题改完不再符合当前关键词,不要在保存按钮被点击的瞬间就把这一行删除;先确认成功,再提示“此工单已不符合当前筛选条件”,提供查看记录的出口。这样用户能够分辨记录被过滤掉,还是修改没有保存。
用同一条工单演示三条可回退路径
在墨刀里为 TK-104 准备阅读、编辑、必填错误、保存中、明确失败和成功六个页面状态,用交互连线表达跳转。页面说明分别写清原值、当前输入和已确认值;保存失败时,当前输入是新标题,原值与已确认值仍是原标题。
第一条路径是进入编辑后输入新标题,再取消,回到原标题;第二条是清空后保存,出现必填提示,补全新标题再保存成功;第三条是输入新标题后收到明确的未保存结果,原输入保留,重试成功后才回到阅读态。另补一个超时分支,用“确认保存结果”区分已知失败与结果未知。
如果表格需要完整键盘操作,还应明确单元格导航与输入框编辑怎样切换。WAI-ARIA 的 Grid 模式讨论了这两类操作的协调,但不是所有普通表格都必须改成交互网格。交付时让研发按实际结构选择语义,并检查进入、取消、失败和成功后的焦点位置;把路径做成可点击画面,不等于已经实现键盘和辅助技术支持。