如何在DropDown选择三柱门中保留“选择一个”选项?

2022-09-02 08:58:29

当我第一次加载页面时,下拉列表上的默认选项是“选择一个”。有没有办法将其保留在下拉列表中,即使我已经选择了一个选项?
(以防我以后不想放任何东西)


答案 1

您需要使用 DropDownChoice.setNullValid() 方法。来自 javadoc:

确定当字段的模型值为非空值时,是否应将 null 值包含在选项列表中,以及是否应显示null_valid字符串属性(例如“选择一个”),直到选择了非空值。如果设置为 false,则当值为 null 时将显示“选择一个”。选择值并将该更改传播到基础模型后,用户将不再看到“选择一个”选项,并且无法重新选择 null 作为值。如果设置为 true,则 null 字符串属性(默认情况下为空字符串)将始终显示为一个选项,无论是否曾经选择过非空值。请注意,此设置对验证没有影响。为了保证在表单验证中指定值,FormComponent.setRequired(布尔值)。这是因为即使 setNullValid() 是用 false 调用的,用户也可能通过从不激活(即单击)组件来无法提供值。

如果要保留 NullValid = true 的“选择一个”文本,则可以在 Application.properties 文件中使用类似于以下内容的行:

nullValid=[Choose one]

答案 2

.java年:

DropDownChoice<Boolean> myDropDown = new DropDownChoice<>(
    "myDropDownWicketId", model, Arrays.asList(true, false), renderer);
myDropDown.setNullValid(true);

在与 java 类关联的 .properties 文件中,添加:

myDropDownWicketId.nullValid=Choose One
myDropDownWicketId.true=Yes
myDropDownWicketId.false=No

推荐