我有一个问题
我使用一个模态来获取信息并输入数据表。
<rich:popupPanel id="panelorcamento" domElementAttachment="form" modal="true" width="600" height="500" zindex="2" show="#{demandasMB.mostraOrcamento}" showWhenRendered="#{demandasMB.mostraOrcamento}">
在我的行动中显示模态我正在使用:
<h:commandButton value="Incluir UF">
<f:ajax render="panelorcamento"
event="click"
listener="#{demandasMB.incluirOrcamento()}"
execute="ufs"/>
</h:commandButton>
我的MB中的代码是:
public void incluirOrcamento(){
orcamentoSelecionado = new Orcamentos();
if(ufSelecionada.getCnmuf()==null){
orcamentoSelecionado.setUfs(ufsint.recuperaUnico(ufSelecionada));
}else{
orcamentoSelecionado.setUfs(ufSelecionada);
}
orcamentoSelecionado.setAutor(solicitante);
orcamentoSelecionado.setDatacadastro(Calendar.getInstance());
acrescentaAnosAoOrcamento();
showOrcamento();
}
和ShowOrcamento是:
public void showOrcamento(){
mostraOrcamento=true;
}
有效。我的模态开放没有问题。
进入我的模态我有一个按钮来隐藏我的模态:
public void hideOrcamento(){
orcamentoSelecionado = new Orcamentos();
mostraOrcamento=false;
}
和要隐藏的按钮是:
<h:commandButton value="Fechar">
<f:ajax render="panelorcamento"
event="click"
listener="#{demandasMB.hideOrcamento()}"
/>
</h:commandButton>
我的问题是,当我点击按钮“Fechar”时,我的方法正在调用,但我的模态不会关闭。
有人知道我在做什么吗?
感谢
答案 0 :(得分:0)
这是一个错误,由于domElementAttachment面板不是渲染所指向的位置。您可以通过渲染整个表单来解决它。
那就是说,你控制面板非常不寻常,你需要做的就是关闭面板:
<h:commandButton value="Fechar"
onclick="#{rich:component('panelorcamento')}.hide()">
并且您可以使用show()
以相同的方式打开它,无需控制show属性。
最后,{4}中未使用showWhenRendered
。