我正在尝试使用 setNullValid(true)
创建一个 DropDownChoice
,我为模型提供了一个具有 的
在其上,我给它一个 B 类列表以供选择,如果 A 类已经具有 B 类,则所选的 B 类在渲染时不会显示为选中状态。Class A
B 类
如果 A.b 不为空,我希望已被选中,但选项之一也为空。
感谢您的宝贵时间
DropDownChoice<B> bChoices = new DropDownChoice<>(DROPDOWN, new PropertyModel<>(a, "b"),
listOfBs, new ChoiceRenderer<>("name"));
b.setNullValid(true);
最佳答案
Wicket 使用 IChoiceRenderer#getIdValue()
查找所选选项。如果您不提供自定义 IChoiceRenderer
,那么 Wicket 将使用 ChoiceRenderer
并作为 id
它将使用 中项目的索引选项列表
。
查看#equals()
的用法https://github.com/apache/wicket/blob/7bef3d67c8ccc269f02e8943bf9a22c3cd5438e9/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java 。更好的是启动调试器,看看会发生什么!
关于java - 带有 setNullValid 问题的下拉选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54692468/