E3.13.3too many cascade levels设计

层级过多会使级联选择的操作路径过长

别名: 级联过深 · long cascade · 层级过多

概念解释

级联每加一级,就多一次打开、一次扫描、一次确认。层级堆到四五级以上,完成一条合法路径的动作链会超过任务本身的分量:人还没开始用这个值,已经点了太多次。路径过长(path too long)是级数问题,不是某一级选项太多——选项多应在那一级内搜索,而不是再拆一级来「显得有结构」。地址选到村、类目选到第五层 SKU 属性,常常就是路径压过了选择。

机制

每一级都有固定开销:定位控件、等待子级加载、理解这一级在问什么。开销线性相加,而用户对「选一个东西」的预期是两三次指向。中间级若只是为了给下一层垫数据、自身没有独立意义(用户不关心「片区」只关心「门店」),这一级就是纯税。加载延迟再叠上去,路径从长变成不可完成:人在第三级放弃,留下半截链。

过深还会放大上级变更的惩罚。改第一级要重走后面全部级,沉没成本让人不敢改错,于是将错就错提交。路径长度在这里转化成了错误锁定。

边界

专家每天走同一条深链,开销会被记忆削平,但仍讨厌其中没有区分度的中间级。移动端一屏放不下四级下拉,路径会被屏幕高度提前判死刑。把深链收成一棵可搜索的树或一个能搜叶子的单一字段,级数对用户变成零或一,结构仍在数据里。必须保留多级时,能跳过仅有一个子项的级(只有一个市的直辖市)可缩短实走路径,而不改数据深度。

怎么落地

  • 数用户必须打开的级数;经常超过三,就合并中间级或改成搜叶子。
  • 砍掉用户叫不出名字、只为下一层垫数据的级,或自动选中其唯一子项并跳过。
  • 深链提供「按名称搜索终点」,命中后回填整条路径,让熟手绕过逐级点选。
  • 验证:计一次完整选择的点击次数和放弃点。放弃集中在某一中间级,那一级就是该删或该跳过的税。

延伸

  • 同组E3.13.1 级联选择的下一级选项依赖上一级的选择结果 · E3.13.2 上级变更需要清空或校验下级已选的值 · E3.13.4 级联结构不适合需要跨层级比较的场景
  • 相邻E3.17 选项内搜索与过滤 · E5.05 面包屑
  • 站内检索deep cascade · too many levels · skip single-child

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/E3.13.3