点击目标组件(commandButton
(时,页面显示Primefaces的overlayPanel
:
<p:commandButton id="inputBtn" value="Choose a data source" type="button" action="#{dataImportBean.oAuth}"/>
<p:overlayPanel
id="overlaypanel1"
for="inputBtn"
dynamic="false"
widgetVar="inputChooser"
>
// contents of the overlay panel
</p:overlayPanel>
我需要在页面加载时显示overlayPanel
,而无需单击目标commandButton
。
用例是:用户打开了overlayPanel
,但oAuth流使用户导航离开页面。oAuth完成后,用户将重定向到页面。然而,当页面加载时,overlayPanel是关闭的,而为了保持一致性,我需要将用户直接带回overlayPanel
在您的小部件var上使用客户端API。您可以使用show()
来显示面板,因此在您的情况下:PF('inputChooser').show()
。
要在页面加载时执行此操作,可以将其放置在p:overlayPanel
:之后
<c:if test="#{yourCondition}">
<script>$(function() { PF('inputChooser').show() })</script>
</c:if>
另请参阅:
- https://primefaces.github.io/primefaces/10_0_0/#/components/overlaypanel?id=client-侧面api