起因是一个很具体的画面
账号管理列表的操作列有 5 个按钮:编辑、重置密码、启禁用、查看日志、删除。列宽按默认算,5 个按钮被挤成 3 行,行高被撑高,一屏只能看到 6 条——而这张表通常有几十分页。
这类问题不会有人报 bug,但它每天都在消耗使用者的耐心。修起来也简单:操作列加宽 + 按钮左对齐 + 单行不换行。
顺手把这类细节整理成清单,后面每个列表页都按这七条过一遍。
1. 默认每页条数要按场景定
列表默认 10 条对"偶尔查一下"的页面够用,对"每天核对数据"的页面太少。账号、订单、文件这类高频页默认 20 条起,并提供 30/60/120 的切换。
关键是要记住用户的选择:翻页回来又变回 20 条,是最容易招骂的细节。
2. 操作列永不换行
按钮换行不只是难看,它会让每行高度不一致,视线无法对齐。做法:操作列设最小宽度、按钮容器 flex-wrap: nowrap、超过 5 个操作时把低频操作收进"更多"下拉。
3. 树形列表默认折叠,但要有"展开全部"
菜单管理是典型的树:目录 → 菜单 → 按钮权限。默认全展开会滚动到失控,默认全折叠又找不到东西。
处理方式:默认只显示目录与菜单两级,工具栏提供"展开全部/收起全部",搜索时自动展开命中节点的祖先链——否则搜到了但看不见,等于没搜到。
树形展开还有个易踩的坑:用组件库的树表格时,展开箭头可能因为自定义列渲染而消失。我们的做法是自绘树 + 显式维护展开状态集合,可控性比依赖组件内部状态好。
4. 高频微操作要在列表里完成
能在列表里点一下完成的事,不要逼用户进详情:
- 点击状态标签直接切换启用/停用(带二次确认);
- 双击排序值直接编辑(回车保存,Esc 取消);
- 开关类字段用开关而不是下拉。
这些改动让"调 10 个菜单的排序"从 10 次弹窗变成 10 次双击。
5. 相册视图要固定栅格
文件列表切到相册视图时,每行固定张数(我们定 10 张),封面统一 3:4 竖版。理由很实在:鲜花商品图多是竖图,混排横图会让栅格参差,视觉上像坏了。
6. 空状态要给出下一步
"暂无数据"是最没用的提示。空状态应该说明:是没数据、还是筛选条件太严、还是没权限。三种情况各自给不同文案与操作入口(清空筛选 / 去新建 / 联系管理员)。
7. 危险操作要"可撤销"或"双确认"
删除、作废、彻底删除放右侧并用独立配色;能进回收站的就不做物理删除;物理删除前做引用校验。这条不是美观问题,是数据安全问题。
小结
后台的可用性不靠设计感,靠动作次数。每减少一次多余点击、一次误操作、一次视线上跳,乘以每天的使用次数,就是真实的效率差。
这七条已经写进我们的后台开发清单:新做列表页时先过一遍,比上线后被运营一条条提需求要省得多。