前言
筛选、检索、查询、搜索...相关的的词语很多,我们如何选择和定义呢?
查阅一些资料后,我们认为:
- 检索:与搜索近义【百度百科】,常见于对海量数据进行检索,比如:日志检索;海量数据搜索时,可直接输入高级语句(SQL),也常配合高级筛选组件协助用户输入。
- 搜索:常使用input组件,直接输入搜索内容,展示匹配的数据;
- 查询:用户设置查询条件,从表或其他地方选取部分数据,以表的形式展示【百度百科 通讯科技学科】;查询常配合简单筛选组件。
- 筛选:对数据做分类处理;筛选表单组件常配合查询按钮使用;
筛选 vs 搜索
本文将讨论筛选设计。
筛选分类
| 分类 | 示例 | 触发方式 |
|---|---|---|
| 下拉筛选 | 实时触发 | |
| 平铺筛选 | 实时触发 | |
| 表头筛选 | 手动触发 | |
| 标签筛选 | 实时触发 | |
| 组合筛选(简单) | 手动触发 | |
| 组合筛选(高级) | 手动触发 | |
| 组合筛选(轻量) | 实时触发 | |
| 组合筛选(轻量-折叠模式) | 手动触发 |
交互设计
场景举例
筛选表单可提供字段校验,字段配置,重置,简单、高级模式切换,展开折叠,保存为个性化筛选器等能力;字段配置可提供字段显示隐藏、字段顺序调整能力。
筛选器管理使用左右布局展示;筛选表单使用上下布局展示
细节设计
-
比如告警页面提供的配置字段较多,考虑筛选表单的极限情况,可使用内部滚动
-
帮助用户标记筛选状态
当使用可收起的筛选、浮层筛选、表头筛选等方式时,要为用户标记当前有筛选值得状态。若不标记,用户可能遗忘当前有筛选条件。
也可考虑将筛选值外显,方便用户对比和清除。
-
帮助用户记住筛选值
使用场景:用户筛选后,点击详情跳转至详情页面后返回当前页面
用户需求:需要多次查看该筛选值下得数据详情
实现:
方案一:用户从下级页面返回上级页面时,帮助用户记住筛选值
方案二:使用keep-alive,详情返回上级页面不刷新页面
用户需求:当前用户期望保存个性化得筛选条件
实现:提供筛选器保存、管理能力
常见的筛选器展示: