关于过滤器的扩展

想扩展一下系统的过滤器,对于一个字符串字段的过滤,想把默认的文本框改成下拉框,并把常用的搜索词放到下拉框里。不知道怎么下手?能否提供下思路?

有大佬关注一下么?

filter 这个组件逻辑比较复杂,代码全部通过 Java 完成。具体实现是在 FilterDelegateImpl 这个类里面。一个字段条件的编辑器是通过 createParamEditor() 方法创建的。返回的是 ParamEditor 这个对象。

如果你需要定制的话,可以考虑扩展 FilterDelegateImpl,重写 createParamEditor() 方法,并且修改 ParamEditor 类。

要么就用变通的方法,你们自己实现一些字段的过滤器,然后在系统的过滤器中把这些字段排除。UI 上将系统的过滤器和自定义过滤器并排放置。这样用户如果只需要使用自定义过滤器内的字段做筛选,也不需要手动展开系统过滤器。

好的,尝试把系统的文本框替换成下拉框,看看有咩有可能

问题解决了吗,我也遇到了这个问题。。。
求解决办法

没有弄,放弃了

Jmix 还是 CUBA ?

jmix

自定义一个 ui_PropertyFilterComponentGenerationStrategy 。覆盖io.jmix.ui.component.factory.PropertyFilterComponentGenerationStrategy#createComponent 或者 io.jmix.ui.component.factory.PropertyFilterComponentGenerationStrategy#createComponentInternal ,生成自己想要的 component 就行了

1 个赞