我以之前发布的问题here为基础:
我有一个vbox,其中包含一些复选框,这些复选框由整个窗口的viewmodel动态添加。视图模型将侦听器注册到复选框的onCheck事件,如下所示:
if (childName.equals("org.zkoss.zul.Checkbox")) {
child.addEventListener(1000,"onCheck", new EventListener<Event>() {
@Override
public void onEvent(Event event) throws Exception {
Events.postEvent(1000,"onSelectionChange",parent,null);
}
});
}
onSelectionChange事件在父vbox中被捕获,如下所示:
<vbox onSelectionChange="@command('onChange', component=self, finishButton=finish)"/>
整个vbox组件是向导的一部分,该向导允许在其页面之间来回移动。因此,vbox组件可以显示多次。第一次,onboxionChange事件被vbox组件正确触发并捕获。因此,onChange被正确调用。但是,第二次加载组件时,该事件由复选框触发,但未被vbox捕获。
我已经尝试了postEvent和sendEvent。在任何情况下,该事件均不会正确转发到父vbox。有谁知道为什么会这样?
感谢您的帮助!
答案 0 :(得分:0)
我准备了一个可运行的示例(基于我从您的描述中了解的内容),该示例可以工作... http://zkfiddle.org/sample/51j1be/1-wizard-checkboxes-custom-events
也许可以作为您方案的模板。如果没有,您可以调整并保存以显示您的问题。所以我可以再看一遍。