想扩展一下系统的过滤器,对于一个字符串字段的过滤,想把默认的文本框改成下拉框,并把常用的搜索词放到下拉框里。不知道怎么下手?能否提供下思路?
有大佬关注一下么?
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 个赞