我有一个简单的<p:pickList>
,它也有一个AJAX&#34;转移&#34; event指向我的支持bean上的空事件并根据需要进行标记。当用户单击“删除”时,“全部”按钮仅显示目标列表&#34;闪烁&#34;,然后保持不变(未更改)。所有其他按钮都能正常工作。
PrimeFaces 4.0。
如果<p:pickList>
不需要或不自行更新,一切都会正常。
这是某种错误吗?
感谢!!!
<p:pickList id="nivelPickListTeste"
value="#{cargoBean.niveis}"
var="nivel"
required="true"
requiredMessage="O campo de niveis selecionados é obrigatório."
itemValue="#{nivel}"
itemLabel="#{nivel.codigo}"
converter="nivelDualListConverter">
<p:ajax event="transfer" listener="#{cargoBean.onTransfer}" update="@this" />
<p:column styleClass="linhatabela negrito">
<h:outputText value="#{nivel.codigo} - #{nivel.formatarValor()}" />
</p:column>
</p:pickList>
public class CargoBean {
public void onTransfer(TransferEvent event) {}
}
答案 0 :(得分:0)
我想通了,我用另一个组件的事件更新了没有被所需事件更新的组件,即使我删除了列表中的最后一个元素,它又重新出现,好像删除了元素从未发生过。我删除了所需的true,并且它有效。在我的问题中提到required="true"
之后不久,会触发验证失败,因此会阻止侦听器运行,因为它需要所述组件中的一个元素。因此,当将列表留空时,侦听器将不会运行导致此不需要的功能。
要查看事件触发,请删除required="true"
并更改您的验证方式。