強制的に更新されるように、JavaScript から PrimeFaces コンポーネントを更新することは可能ですか?
ダイアログでこのボタンを使用して ajax 保存呼び出しを行っています。oncomplete イベントにカスタム JavaScript を添付しました。
<p:growl life="1500" id="showmessage"/>
<p:dialog id="addMemberDialog" widgetVar="addMemberDlg">
<!-- More Code -->
<p:commandButton value="Save"
actionListener="#{memberManagedBean.save}"
oncomplete="handleSaveNewMember(xhr, status, args)"
update=":memberListForm:membersTable createupdateform "
process="@form" />
</p:dialog>
..保存ボタンの実行中に、ここにメッセージを追加して、growl コンポーネントを使用してクライアントに表示します。
public void save(ActionEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Successfuly Add user", "Successfuly Add user");
FacesContext.getCurrentInstance().addMessage(null, message);
}
私の問題は、うなり声コンポーネントがメッセージを表示する前に、最初にダイアログを非表示にする必要があるように、UI をシーケンスするにはどうすればよいですか?
function handleSaveNewMember(xhr, status, args) {
addMemberDlg.hide();
//update the growl after the dialog was hidden?
}
何が起こっているかというと、グロウル コンポーネントが同時にダイアログの横に表示されるということです。
ありがとう。