E3.17.4selected remain visible under filter设计

已选项在过滤后仍需保持可见或可追踪

别名: 过滤后已选 · sticky selected · 已选不被滤走

概念解释

过滤名单时,已经勾上的项不能因为显示名不匹配当前关键字就从感知里消失。它们要么继续出现在过滤结果里(置顶或单独一区),要么在触发器、计数、摘要里仍可被追踪。已选不被滤走(selected stay trackable)防止一种事故:用户搜新词、看见一份「很干净」的短名单、以为只有眼前这些是已选,提交后才发现旧的勾还在——或反过来,以为旧的勾被清掉了。过滤改的是可见候选,不是选择集。

机制

过滤在视图上做减法,选择集在模型里保持。两层若只露出视图,人会把看见的当成全部已选。搜「设计」时,先前勾的「工程」从列表里消失,计数若还写着 5、列表却只剩 1 条勾,已经在打架;计数若也变成 1,模型里的另外 4 个就成了隐身乘客。置顶已选或「已选」分区把模型重新露出来,让过滤词只管未选候选。触发器上的标签块是另一条追踪通道:列表被滤光,块还在。

清过滤时已选应还在原地,不应因为曾经隐身而被重置。过滤不是提交,也不是清空。

边界

多选下拉的收起态本来就靠触发器追踪已选,打开态过滤时仍要在面板里给已选一条通路,否则打开后只看见过滤结果,会误以为触发器上的块已经失效。单选没有「隐身乘客」问题,但当前值仍应在过滤后可被看到或通过清空过滤找回。树过滤常把不匹配的祖先也留下当路径,已选叶子若在别的支上,要在结果里单独列出,不能只留当前支。全选当前过滤结果不应把隐身的已选项取消,范围是「可见未选」,不是「重写整个选择集」。

怎么落地

  • 过滤时把已选项置顶、分区、或至少让计数与触发器继续列出它们。
  • 文案区分「可见命中」和「已选总数」,两个数都可以在,但不要只留一个含糊的数。
  • 「全选当前结果」只作用于可见候选,不取消滤出去的已选。
  • 验证:勾若干不同类的项,再搜只命中其中一类。问「现在选了谁」。说漏滤出去的那些,或以为它们被清了,追踪就断了。

延伸

  • 同组E3.17.1 选项过多时应提供搜索框而非依赖滚动查找 · E3.17.2 过滤应支持拼音、缩写等模糊匹配方式 · E3.17.3 过滤结果为空时需给出明确提示而非空白
  • 相邻E3.06 多选下拉 · E3.14 穿梭框与双列选择
  • 站内检索sticky selected · filter preserves selection · hidden selected items

同组卡片

快捷操作

分享

分享当前页面

ios_share

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