嘿,我仍然在尝试改进自定义Wicket向导以显示以下状态的步骤:活动,已完成,正在等待。因此isCompleted();
的信息应该返回正确的值。如果向导可以转到下一步,则参考previous question,isComplete();
返回true。
我该如何操作这些信息才能充分利用我的草稿?例如。在一个WizardStep中,我有多个输入字段。通过设置setComplete控制Wicket向导的流程(布尔值)
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的提示!
仍在检查您的建议,但get(Wizard.BUTTONS_ID).setOutputMarkupId(true);抛出空指针异常。 –
此行'((AjaxRequestTarget)event.getPayload())add(get(Wizard.BUTTONS_ID));'抛出空指针,但它似乎工作,我怎样才能避免null poiner? –