【发布时间】:2016-01-18 00:04:49
【问题描述】:
嘿,我仍在尝试改进定制的 Wicket 向导,以显示具有以下状态的步骤:活动、已完成、待定。因此isCompleted(); 的信息应该返回正确的值。引用previous question,isComplete();返回true,如果向导可以进行下一步。
我如何操纵这些信息以充分利用我的草稿?例如。在一个 WizardStep 中,我有多个输入字段。
super(new ResourceModel("daten.title"), new ResourceModel("daten.summary"));
java.util.Collections.addAll(sprachen, "Deutsch","English","Français","Italiano");
add(name = new RequiredTextField<String>("name", Model.of("")));
add(vorname = new RequiredTextField<String>("vorname", Model.of("")));
add(strasse = new RequiredTextField<String>("strasse", Model.of("")));
add(ort = new RequiredTextField<String>("ort", Model.of("")));
...
在填写每个字段之前,我不希望该步骤“完成”。要检查条件,我必须为每个组件添加一个AjaxListener,并检查它的状态到setComplete(boolean);。
我可以从向导表单之外控制这个流程吗?例如使用ICondition 的实现还是有其他方法?因为基本上我无法进行下一步,因为我所有的文本字段都是RequiredTextField,不能跳过。
任何建议都非常感谢。
更新/解决方案
Component buttonbar = getForm().get(Wizard.BUTTONS_ID);
buttonbar.setOutputMarkupId(true);
仅仅get(Wizard.BUTTONS_ID); 是行不通的。
感谢 Sven Meier 的提示!
【问题讨论】:
标签: wicket conditional-statements wizard