簡體   English   中英

預填充的 p:inputText 組件

[英]Prefilled p:inputText component

我無法顯示帶有p:inputText組件預填充值的p:dialog

<p:dialog modal="true" widgetVar="editPersonDlg" header="Edit Person" width="350">
    <h:form id="editPersonForm">
        <h:panelGrid columns="2">
            <h:outputLabel for="editFirstName" value="First Name:" />
            <p:inputText id="editFirstName" value="#{personBean.selectedPerson.firstName}" />
            <p:commandButton value="Save" type="Button" actionListener="#{personBean.edit}" 
                                 oncomplete="editPersonDlg.hide()"/>
            <p:commandButton value="Cancel" type="Button" oncomplete="editPersonDlg.hide()"/>
        </h:panelGrid>
    </h:form>
</p:dialog>

調試時,我看到personBean#selectedPerson正在有效地返回一個非空 Person,其名稱為非空。 Person#getFirstName實際上返回一個非空名稱。 但是,FirstName 和 LastName 不會出現在對話框的 inputText 框中。

這可能是因為您在打開對話框之前沒有更新它。 例如:您通過在 p:dataTable 中選擇它來初始化 personBean.selectedPerson,然后您想要通過單擊打開“編輯”對話框的 p:commandButton 來編輯它。 您必須更新此對話框,以便組件可以獲取實際數據。 為打開對話框的按鈕嘗試這樣的事情:

<p:commandButton value="Edit" oncolmplete="editPersonDlg.show()" update=":formInWhichIsDialog:dialogID" />

讓我知道它是否有效,問題可能出在其他地方,但這是最常見的事情。 希望它有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM