什么是筛选器(filter)

在B端产品中,数据列表是呈现数据信息非常有效的手段,与之相配合的信息筛选器就是列表的好搭档。筛选器的作用,顾名思义,就是可以从众多数据中快速筛选出特定条件的信息。
筛选器一般分为快捷筛选和高级筛选器。
信息结构复杂的B端产品比如数据分析类产品,就会用到复杂的筛选逻辑。大部分产品的不同级别用户中,新用户很少会用到高级筛选器,因此可以认为只有专家型用户在特定场景下才会考虑使用。

高级筛选器的组成

筛选器的复杂程度取决于信息结构的复杂度。
筛选器的构成包含条件字段,筛选逻辑,筛选视图。

条件字段

默认字段的选择,一定是用户最高频的选择。默认字段数量一般不应超过7个,否则页面篇幅占据过多,其余字段可暂时隐藏供用户自行选用。

筛选逻辑

包含两类逻辑:单字段逻辑和字段间逻辑

  • 单字段逻辑,不同类型字段的可选逻辑也不同
    • 文本类字段:包含,不包含,等于,不等于,为空,不为空
    • 数字/日期类字段:大于,大于等于,等于,不等于,小于,小于等于,在区间内,为空,不为空
    • 固定值选项:包含,不包含
  • 字段间逻辑:且&或

且&或逻辑并存时,按照其中一个逻辑成组,如图
image.png

筛选视图

  • 临时视图

即默认视图,不会保留上次筛选的条件

  • 个人视图

保存视图为个人可见

  • 公共视图

保存视图为团队组织可见

筛选器的设计重点

  1. 考虑用户的使用频率和重心

以用户为中心的设计永远要将用户真实的需求摆在第一位。
不同类型的产品用户对筛选器的需求侧重点是不同的。比如办公协同产品中,团队leader可能会需要配置专属于自己或者团队的筛选条件,保存为视图后,就会一直使用,不会轻易更改。这样的设计重点就在于视图的展现和切换,而不是条件逻辑的复杂配置。
下图是RXNT的列表,简化了筛选字段的逻辑配置,用快捷筛选实时获得每个条件的结果。
image.png

  1. 满足需求的情况下尽可能减少复杂设计

因此在列表中优先推崇的是快捷筛选,高级筛选器往往是专家型用户会使用的,所以在交互中也是属于弱操作
如下图coding的筛选器设计得非常轻量,因其本身的信息结构不复杂,所以省略了字段间的逻辑配置,但依旧满足了用户的需求image.pngimage.png

  1. 易懂易用

但因本身存在复杂逻辑的配置,在交互设计上除了要尽可能轻量化外,还要易于使用。
下图是某款数据分析产品的筛选器,在一个浮层里将条件配置和视图管理清晰呈现。
image.png

总结

总的来说,大部分情况下高级筛选器是一个高阶功能,如无必要不增实体。当真的需要用到的时候,还是要根据用户的需求和侧重点进行设计,尽量避免过度设计。最简单的情况还是做成标准组件进行调用,可减少扩展开发的成本。