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