我在p:dataTable
中有这个工作按钮<p:commandButton update=":dialog" oncomplete="PF('dialog').show()" title="Do something">
<f:setPropertyActionListener value="#{transaction}" target="#{transactionModel.selectedTx}" />
</p:commandButton>
它在模型中设置selectedTx,以便我可以在对话框中使用它。
现在我想为我的按钮添加新功能,所以我选择了p:splitButton
:
<p:splitButton update=":dialog" oncomplete="PF('dialog').show()" title="Do something">
<f:setPropertyActionListener value="#{transaction}" target="#{transactionModel.selectedTx}" />
<p:menuitem value="Do something else" oncomplete="PF('otherDialog').show()" update=":otherDialog" />
</p:splitButton>
当我使用新按钮时,未设置selectedTx 。只有第一个按钮有效。
如何在点击新按钮时更新模型中的属性?
答案 0 :(得分:0)
解决方案是在menuitem中添加setPropertyActionListener(如Apostolos建议的那样),并且需要更新数据表(而不仅仅是对话框):
<p:splitButton update="datatable :dialog" oncomplete="PF('dialog').show()" title="Do something">
<f:setPropertyActionListener value="#{transaction}" target="#{transactionModel.selectedTx}" />
<p:menuitem value="Do something else" oncomplete="PF('otherDialog').show()" update="datatable :otherDialog">
<f:setPropertyActionListener value="#{transaction}" target="#{transactionModel.selectedTx}" />
</p:menuitem>
</p:splitButton>