在页面加载时显示 Primefaces 的 OverlayPanel
Display Primefaces's OverlayPanel when the page loads
点击目标组件(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>
另请参阅:
点击目标组件(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>
另请参阅: