20

最初にページをロードしたとき、ドロップダウンチョイスのデフォルトオプションは「ChooseOne」です。選択肢を選択した場合でも、ドロップダウンに保持する方法はありますか?
(後で何も入れたくない場合)

4

2 に答える 2

40

DropDownChoice.setNullValid()メソッドを使用する必要があります。javadocから:

フィールドのモデル値がnullでない場合に、null値を選択肢のリストに含めるかどうか、およびnull以外の値が選択されるまでnull_valid文字列プロパティ(「ChooseOne」など)を表示するかどうかを決定します。falseに設定すると、値がnullのときに「ChooseOne」が表示されます。値が選択され、その変更が基になるモデルに伝播されると、ユーザーには[1つ選択]オプションが表示されなくなり、値としてnullを再選択する方法がなくなります。trueに設定すると、null以外の値が選択されたかどうかに関係なく、null文字列プロパティ(デフォルトでは空の文字列)が常にオプションとして表示されます。この設定は検証に影響を与えないことに注意してください。フォーム検証で値が指定されることを保証するために、FormComponent。setRequired(boolean)。これは、setNullValid()がfalseで呼び出された場合でも、ユーザーがコンポーネントをアクティブ化(つまりクリック)しないだけでは、値を提供できない可能性があるためです。

「ChooseOne」テキストをNullValid=trueのままにしておきたい場合は、Application.propertiesファイルで次のような行を使用できます。

nullValid=[Choose one]
于 2011-08-08T22:38:18.817 に答える
5

.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
于 2015-11-19T14:15:16.447 に答える