ward
1
平时在表格里想筛数据,要么点开筛选弹窗一个个配条件,要么自己写 filter,太麻烦了。就用 AI 搓了一个:在每个表格区块的字段行下方,自动加一行筛选栏,每一列下面一个筛选控件,输入/勾选就能实时过滤,多列之间是「并且」的关系,组合筛选。
- 每列一个筛选控件,按字段类型自动匹配
- 文本字段 → 文本输入框,模糊匹配(
$includes)
- 数字字段 → 数值输入,精确/比较匹配(
$eq)
- 下拉字段(select / 单选 / 多选)→ 下拉多选,输入/勾选选项即筛
- 树形关联字段(如「经办部门」这种带子级的部门)→ 级联选择,选父级自动包含所有子部门
- 日期字段 → 文本输入
- 多字段组合筛选:多个列同时填,条件是「并且」的关系
- 右上角自带清除筛选和刷新按钮
- 筛选框圆角自动跟随系统主题设置,不突兀
- 原型补丁方式实现,不破坏原生表格功能:新增/编辑字段、添加表格区块都正常,禁用插件后立即恢复原生表格
my-project-plugin-enhanced-filtering-1.0.0.zip (17.7 KB)
解压为tgz格式
示意图:
1 Like
ward
2
修复了一个bug:
核心修复 :表格区块被一个无高度约束的 <div> 包裹,破坏了 NocoBase v2 表格的滚动高度计算,导致表格全量渲染所有行(无限向下拓展 + 主线程卡死 + 按钮无响应)。改为 flex column + height:100% 保住高度链后,表格恢复内部滚动,顺带修了 MutationObserver 的过度触发、清除按钮计数 bug、以及重复 patch 隐患。
my-project-plugin-enhanced-filtering-1.0.1.zip (20.0 KB)
解压为tgz格式
ward
3
新版本:
新增:
-
「快速筛选」开关化:从"每个区块自动多一行"改成区块「配置操作」里的原生 Switch,打开才出现筛选行、关掉即清掉并恢复表格。
-
「清除筛选」按钮与开关联动:开关联动显隐、每区块唯一、置于动作栏左侧(与原生「筛选」同排)、无筛选禁用/有筛选用、默认主色。
修复
-
关联字段输入被清空修复:400ms 防抖 + 输入值持久化,打字不被打断。
-
树形关联级联、下拉多选、数字/文本/日期筛选照旧;原型补丁式、禁用即还原。
-
确认服务端全量筛选(不是仅当页)。
my-project-plugin-quick-filter-1.3.4.zip (35.5 KB)
解压为tgz格式
1 Like
ward
6
现在是文本字段进行筛选,下一版本会优化一下日期筛选。
ward
7