我对此组件有疑问
当我按下这个按钮时,什么都没有出现,我的问题是p:对话框没有显示,请我需要你的帮助,
<p:commandButton id="selectButton" icon="ui-icon-search" title="View" oncomplete="introViewDialog.show()"
update=":form:displayForm" immediate="true" value="lister" >
<f:setPropertyActionListener target="#{introBean.selectedIntro}" value="#{intro}"/>
</p:commandButton>
我的表格:
<h:form id="displayForm">
<p:dialog id="displayDialog" header="Afficher" widgetVar="introViewDialog" resizable="false" showEffect="clip" hideEffect="fold" appendToBody="true">
<h:panelGrid id="display" columns="2" cellpadding="4">
<h:outputText value=" id :" />
<h:outputText value="#{introBean.selectedIntro.id}" />
<h:outputText value="titre :" />
<h:outputText value="#{introBean.selectedIntro.titre}" />
<h:outputText value="dateDebut :" />
<h:outputText value="#{introBean.selectedIntro.dateDeb}" />
<h:outputText value="desc :" />
<h:outputText
value="#{introBean.selectedIntro.desc}" />
<h:outputText value="active :"
rendered="#{introBean.selectedIntro.active}" />
<h:outputText
value="Elementdeclancheur"
rendered="#{introBean.selectedIntro.elementdeclancheur}" />
<h:outputText value="RTL :"
rendered="#{introBean.introVO.rtl}" />
<h:outputText value="jsOnComplete :" />
<h:outputText value="#{introBean.introVO.jsOnComplete }" />
<h:outputText value="themeCss :" />
<h:outputText value="#{introBean.introVO.themeCss}" />
</h:panelGrid>
</p:dialog>
</h:form>
答案 0 :(得分:1)
您正通过以下代码oncomplete="introViewDialog.show()"
访问widgetVar。这不适用于PF5.2,因为它在PF4中已弃用并在PF5中被删除。浏览器控制台应该出错。
引自http://blog.primefaces.org/?p=3184:
在4.0中,不推荐使用widgetVar.method()来访问组件的客户端api而使用PF('widgetVar')。show()来保持窗口范围的清洁。
请使用以下语法:oncomplete="PF('introViewDialog').show()";