我有一个在页面加载时不包含任何内容的对话框,并且我根据用户单击的链接动态设置对话框的内容。
<p:dialog widgetVar="dlg" modal="true" id="dialog">
<p:panel id="fullArticle">
<h:outputText value="#{content.newsArticle}" escape="false" />
</p:panel>
</p:dialog>
...
...
<p:commandLink value="Read more" actionListener="#{content.getFullArticle}" onclick='dlg.show();' update=":fullArticle">
<f:attribute name="contentId" value="#{news.contentId}" />
</p:commandLink>
我遇到的问题是,当你点击“阅读更多”链接时,它会显示对话框,但对话框并不在页面的中心。如果我将commandLink上的udpate属性更改为update=":dialog"
,则该对话框会闪烁,就像它正在打开然后立即关闭一样。
如何更新对话框并使其以动态内容居中?
发布于 2012-09-21 18:35:37
我也有同样的问题。更新对话框会使其消失并重新出现(并忘记其位置)。
为了解决这个问题,我在对话框内容周围创建了一个包装器标记。
<p:commandLink update=":playerViewDialogHeader,:playerViewDialogContent"
oncomplete='playerViewDialogJS.show()' value='#{item.name}' />
<p:dialog id='playerViewDialog' widgetVar='playerViewDialogJS'>
<f:facet name="header">
<h:outputText id="playerViewDialogHeader" value="#{playerController.objectView.name}" />
</f:facet>
<h:form id='playerViewDialogContent'>
<!-- CONTENT GOES HERE -->
</h:form>
</p:dialog>
https://stackoverflow.com/questions/10659389
复制相似问题