PrimeFaces 组件中的变量更新问题

Issue with Variable Update in PrimeFaces Component

提问人:carlosflorez 提问时间:8/19/2023 最后编辑:Jasper de Vriescarlosflorez 更新时间:8/26/2023 访问量:28

问:

我有一个在dataTable中加载了信息,逻辑是当变量为时,它会向我显示一个弹出窗口,否则它不会显示它。该变量会根据某些条件而变化,并且它在我的 bean 中以称为 popup 的方法进行管理。我遇到的问题是,当单击它时,它不会获取方法分配给它的变量的值,但是如果它正在更改变量的值,如果我希望它起作用,我必须再次单击它,然后它就取了所需的值。总之,我相信 commandLink 不会在方法中更改变量 showPopup 的值。 豆子是commandLinkshowPopuptruecommandLinkshowPopup@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 命令链接

评论

0赞 Jasper de Vries 8/19/2023
请阅读 jsf (了解更多...) 并提供一个最小的可重现示例

答:

0赞 carlosflorez 8/26/2023 #1

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