关于zk框架下afterCompose中跳转到另一window中的按钮失效问题

blsq0506 2015-10-14 05:28:44
首先我完成了一个页面的编写,其中有一个按钮点击之后会弹出一个window,现在我想要在页面初始加载的时候就弹出这个window,完成里面的填写再进行下面的操作,简单来说就是在afterCompose中调用那个button的onClick事件。
结果window出来了结构也没有问题,但是下方的保存取消关闭三个按钮的事件都失效了
<window title="新增应聘岗位" id="ypgwWindow" visible="false" closable="true"
border="normal" sclass="mainwin none"
style="width:850px; overflow-y:auto; "
maximizable="true" viewModel="@id('vm') @init('org.eheluo.hr.view.ryxx.PyglAddViewModel')">
<div sclass="padding20" >
<div id="divChild" style="overflow:auto; max-height:550px">
<grid>
<rows>
<row>
<cell>
<label value="应聘岗位">

</label>
</cell>
<cell>
<label value="应聘岗位相关工作年限">
</label>
</cell>
</row>
</rows>
</grid>
</div>
<button type="button" label="保存" id="save"
visible="true" class="btn-info btn_common03"
onClick="@command('saveObjectInfo',id=divChild)" />
<button id="closeBtn" type="button" label="关闭"
class="btn-info btn_common03" onClick="@command('closesWindow',id='ypgwWindow')" />
</div>
</window>


public class PyglAddViewMode l{
@AfterCompose
@Command
public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {
Include include = (Include) returnComponent("divInclude");
if (null == include) {
return;
}
include.setSrc("../ryxx/person_info_ypgwwin.zul");
Window win = (Window) returnComponent("ypgwWindow");
if(null != win) {
win.setMaximizable(true);
win.doModal();
}
}


@Command
public void closeWindow(@ContextParam(ContextType.VIEW) final Component view,@BindingParam("id") String id) {
Window win = (Window) returnComponent(id);
if (null != win) {
win.setVisible(false);
}
Include include = (Include) returnComponent("divInclude");
if (null == include) {
return;
}
include.setSrc("");
}
}
大致上的代码就是这样了,我把按钮事件的代码写到了afterCompose中,个人的简单猜测是不是页面加载的顺序问题,由于afterCompose中跳转到其他window所以没法调用原来viewModel中的这个closeWindow方法?还是其他原因?怎么解决呢?
...全文
92 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧