先说结论
在 Odoo 里,搜索视图不是附属 UI,它其实是用户“怎么探索这批数据”的主入口之一。
它常见会承载这些东西:
- 搜索字段
- 快捷过滤器
filter - 分组入口
group by - 侧边探索入口
searchpanel
所以搜索视图设计得好不好,直接决定列表页到底是“可用”还是“只是能打开”。
为什么搜索视图经常被低估
因为开发时大家更容易关注:
- 表单长什么样
- 列表显示哪些字段
- 按钮放哪里
但用户实际每天高频做的,往往不是“编辑单条”,而是:
- 找数据
- 缩小范围
- 按某个维度分组
- 快速切换视角
这些都高度依赖搜索视图。
也就是说:
一个列表页是否好用,很多时候不取决于表格本身,而取决于用户能不能快速把数据切到自己想看的那一小块。
filter 最适合做什么
filter 最像:
常用筛选意图的快捷按钮。
比如:
- 我的记录
- 已确认
- 待处理
- 本月数据
它不是给你无限表达所有逻辑的地方,而是把最高频、最明确的筛选场景做成快捷入口。
所以好的 filter 通常是:
- 高频
- 清晰
- 业务语义强
group by 在搜索视图里扮演什么角色
它更偏“换一个观察维度”。
比如按:
- 负责人
- 阶段
- 日期
- 分类
来看这批数据。
所以 filter 更像“缩小范围”,group by 更像“换个角度组织这批结果”。
这两个如果混着理解,用户体验就会变得很奇怪。
searchpanel 为什么越来越重要
因为它特别适合:
- 分类维度清晰
- 需要层级式探索
- 用户希望像逛目录一样找数据
比如按:
- 分类
- 部门
- 状态
- 项目
逐层缩小。
它比顶部一排 filter 更适合承载“结构化探索”。
所以 searchpanel 不是“另一个花哨筛选器”,而是更偏目录式浏览入口。
为什么 filter 不该越多越好
因为一多就会出现:
- 顶部一排很乱
- 用户不知道先点哪个
- 语义重叠
- 维护成本越来越高
所以 filter 不是越全越好,而是越“高频且有区分度”越好。
真正结构化的大类维度,很多时候更适合放 searchpanel。
实战里最容易踩的 5 个坑
1. 只做列表字段,不认真做搜索入口
页面能看,但很不好用。
2. filter 太多、太碎、太像技术分类
用户会迷路。
3. 把 group by 当筛选用
结果语义混乱。
4. 该用 searchpanel 的场景,硬挤成一排 filter
体验会很拥挤。
5. 只按开发者理解组织入口
没按用户真实查数方式设计。
一句话记忆法
把这套分工记成一句话:
filter 负责快捷缩小范围,group by 负责切换观察维度,searchpanel 负责结构化探索数据。
理解这一句,Odoo 搜索视图设计会清楚很多。
DISCUSSION
评论区