[英]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.