如果没有附加的渲染器,则无法更新组件。组件类:“类 org.primefaces.component.menuitem.UIMenuItem”
Posted
技术标签:
【中文标题】如果没有附加的渲染器,则无法更新组件。组件类:“类 org.primefaces.component.menuitem.UIMenuItem”【英文标题】:Can not update component without a attached renderer. Component class: "class org.primefaces.component.menuitem.UIMenuItem" 【发布时间】:2015-01-01 21:14:35 【问题描述】:我的页面上有一条警告:
Can not update component without a attached renderer. Component class: "class org.primefaces.component.menuitem.UIMenuItem"
它运行良好,但我仍然收到此警告消息。我所拥有的是一个表格,它应该根据选择的行向用户显示上下文菜单,呈现一些菜单项或不呈现。
这是我的桌子:
<p:dataTable id="protocoloTable" var="protocolo" value="#juridicaBean.protocolsLazy" paginator="true" lazy="true" selectionMode="single"
selection="#protocoloBean.selectedEntity">
<p:ajax event="contextMenu" update=":registration_form:protocoloTableMenu" oncomplete="protoMenu.show(currentEvent);" process="protocoloTable" />
这是菜单:
<p:contextMenu id="protocoloTableMenu" for="protocoloTable" widgetVar="protoMenu">
<p:menuitem value="Visualizar protocolo" icon="icon-ticket icon-large" actionListener="#ocorrenciaBean.loadViewOcorrencias(protocoloBean.selectedEntity)"
process="@this" update="view_proto_details" oncomplete="PF('viewProtocolDlg').show()"></p:menuitem>
<p:menuitem value="Nova ocorrência" icon="icon-plus icon-large" actionListener="#ocorrenciaBean.newOcorrencia(protocoloBean.selectedEntity)" oncomplete="PF('ocorrenciaDlg').show()" process="@this" update="ocorrencia_details" rendered="#protocoloBean.selectedEntity.status eq 'PENDENTE'"></p:menuitem>
<p:menuitem value="Reabrir protocolo" icon="icon-unlock-alt icon-large" rendered="#protocoloBean.selectedEntity.status eq 'CONCLUIDO'"
actionListener="#protocoloBean.openProtocol()" update="protocoloTable" process="@this"></p:menuitem>
PF4
【问题讨论】:
【参考方案1】:我知道这个问题已经过时了,但我很好奇你是否直接从代码中使用 UIMenuItem?
如果是这样,您是否尝试过改用MenuModel - MenuItem
(DefaultMenuModel/DynamicMenuModel - DefaultMenuItem)?
您还应该考虑为您在 contextMenu 中使用的 每个 项使用 id
【讨论】:
以上是关于如果没有附加的渲染器,则无法更新组件。组件类:“类 org.primefaces.component.menuitem.UIMenuItem”的主要内容,如果未能解决你的问题,请参考以下文章