PrimeFaces 组件中的变量更新问题

问题描述 投票:0回答:1

我有一个

commandLink
,在数据表中加载了信息,其逻辑是,当变量
showPopup
true
时,它会显示一个弹出窗口,否则不显示它。该变量根据某些条件而变化,并在我的 bean 中通过名为 popup 的方法进行管理。我遇到的问题是,当单击此
commandLink
时,它不会获取该方法分配的变量
showPopup
的值,但如果它正在更改变量的值,如果我希望它起作用的话我必须再次单击它,它就会获得所需的值。总之,我相信当方法中发生变化时,commandLink 不会更新变量 showPopup 的值。 豆子是
@ManagedBean @RequestScoped

<!-- more code -->

<t:fieldset styleClass="fieldsetEstilo"
            legend="#{mensaje.label_roles}">
  <h:panelGroup id="roles">
    <p:outputPanel id="outputRoles">
      <p:message for="tRoles" />
      <p:dataTable value="#{usuario.listaRoles}" var="objRol"
                   id="tRoles" reflow="true"
                   emptyMessage="#{mensaje.message_no_existen_registros}">
        <f:facet name="header">#{mensaje.label_listado_de} #{mensaje.rol_label_s}</f:facet>
        <p:column styleClass="W16P">
          <f:facet name="header" />


          <!-- HERE IS MY COMMAND LINK -->

          <p:commandLink id="asignarLink" styleClass="estiloIcono"
                         actionListener="#{usuarioAction.setRolPJ(objRol)}"
                         action="#{usuarioAction.limpiarFechasRoles()}"
                         oncomplete="if ('#{usuarioAction.mostrarPopupAsignarRol}' == 'true') { PF('popUpAsignarRol').show(); };"
                         update=":usuarioForm:outputRoles, :usuarioForm:tablaRolesUsuario, :asignarRol, asignarLink"
                         process="@this">
            <i class="fa fa-plus-circle" />
            <p:tooltip for="asignarLink" position="top">
              <p:outputLabel value="#{mensaje.label_asignar}" />
            </p:tooltip>
          </p:commandLink>

          <!-- more code -->

我尝试更改操作的某些值并更新

commandLink
的属性,但我尚未实现任何更改。

ajax jsf primefaces commandlink
1个回答
0
投票

已解决:我只更改 p:dialog 中的可见属性,我的问题出在 p:commandLink 的 oncomplete 属性中

© www.soinside.com 2019 - 2024. All rights reserved.