java - 带有 setNullValid 问题的下拉选择

标签 java wicket

我正在尝试使用 setNullValid(true) 创建一个 DropDownChoice,我为模型提供了一个具有 Class A B 类 在其上,我给它一个 B 类列表以供选择,如果 A 类已经具有 B 类,则所选的 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/

相关文章:

java - Qt Jambi 和线程

java - ListView 在提交之前从外部源修改

java - Wicket IFormValidator - 将多个 FormComponent 标记为无效

java - Wicket 口(Java): How to use wickettester to test if 404 redirected to correct page

autocomplete - 在 Wicket 中可视化自定义自动完成

java - 为什么我的 boolean 值总是 true?

java - 我如何在 JavaFX 中的所有场景中显示我的 MenuBar

java - 裸机 wicket/tomcat HelloWorld 示例

java - Eclipse无法解决

java - args4J 不适用于 gradle