selectOneMenu 默认值在 table 行编辑器中不起作用

selectOneMenu default value does not work in table row editor

我在带有行编辑器的 table 的 p:cellEditor 标签中有一个 p:selectOneMenu 标签。 这是它的代码:

 <p:column headerText="Update Interval">
           <p:cellEditor>
                <f:facet name="output"><h:outputText value="#{news.intervalLabel}"/></f:facet>
                <f:facet name="input">
                     <p:selectOneMenu value="#{newsManagementBean.intervals}" valueChangeListener="#{newsManagementBean.changedIntervals}" style="width: 200px;">
                                    <f:selectItems value="#{newsManagementBean.updateIntervals}" var="interval" itemLabel="#{interval.value}"
                                                   itemValue="#{interval.key}"/>
                     </p:selectOneMenu>
                </f:facet>
          </p:cellEditor>
 </p:column>

可变间隔是菜单项的枚举,新闻是table中定义的变量。我希望当我点击编辑按钮编辑行时,selectOneMenu 的默认值是新闻间隔的实际值,但是当我点击编辑时它不显示我为它设置的默认值并且只显示枚举值。

枚举的第一个值为5,每行显示5作为selectOneMenu的默认值。

因为你有一个 table 这意味着你有不同的对象,每个对象都有自己的 intervals 所以最好不要对所有对象使用一个值 #{newsManagementBean.intervals}。尝试将 intervals 定义为对象的 属性 并以这种方式使用它。我是说 news.intervals