首次单击后禁用 p:rating

Disable p:rating after first click

我有 <p:rating>:

<p:rating id="ratingstars" value="#{image.rating}"   >
     <p:ajax event="rate" listener="#{imagesView.rating(image)}" />
</p:rating>

我想在 click/rate 之后禁用该组件。我尝试使用 BlockUI 组件,但它看起来很奇怪。组件有一个 "disabled" 属性,但我不知道如何在点击后设置它。

您必须禁用基于后端的组件 属性:

<p:rating id="ratingstars" disabled="#{imagesView.ratingDisabled}" value="#{image.rating}"   >
    <p:ajax event="rate" listener="#{imagesView.rating(image)}" update="@this"/>
</p:rating>

并且 imagesView.isRatingDisabled() 在调用 rating() 方法后必须 return false