我之前在filter里面放 ,然后后端绑定值是没有问题的,我像放TagPicker,但是后端无法转换,我需要怎么处理?因为我的搜索条件中需要选中多个值。
把类型去掉:
(TagPicker)filterComponent_CustInfo.getValueComponent()
去掉以后怎么绑定值哇?
TagPicker<Long> valueComponent = (TagPicker)filterComponent_CustInfo.getValueComponent();
valueComponent.setOptionsMap(Map.of("test",2L,"test2",3L));
编译是没有问题了,但是运行的时候还是报错,
<tagPicker/>
t 小写
可以了哈,谢谢,但是还有一个问题,这里选中以后显示出来的值为什么不是map里面的KEY,而是map里面的VALUE,map数据是这样的 {key=北京 value=10}
需要用到 TagCaptionProvider:
var tagOptions = ImmutableBiMap.copyOf( Map.of("test", 2L, "test2", 3L));
valueComponent.setOptionsMap(tagOptions);
valueComponent.setTagCaptionProvider(l-> tagOptions.inverse().get(l));
你好,不行,会报错的
我的代码里可没有 Convert.toStr
如果不转String编译不通过的
你需要看懂我的例子,而不是照抄。我的例子里是用的 Map<String,Long>
作为选项,所以在 TagCaptionProvider
中,直接把 Map 反过来(调用 inverse()
)得到 Map<Long,String>
,再get(l)
就得到 Long 对应的 String。
你的代码里看上去是 Map<Object,Long>
Object
是通过 PlatfromSysDict::getFdName
得到的,你需要结合你的业务,看这个Object怎么转成String。
这些是Java的基础问题,要根据报的错误多思考。
你好解决了,顺便问一下,这个TagPicker样式能有其他显示格式吗?能放在控件里面吗?选中太多值会影响布局效果
我想放在控件里面,可以放吗?
你好,我刚刚试一了一下, ValuesPicker 不能绑定map值