【问题标题】:Conditionally apply "styleClass" to component without rerendering有条件地将“样式类”应用于组件而不重新渲染
【发布时间】:2015-05-29 08:13:45
【问题描述】:

如果设置值满足某个条件,我正在尝试更新 JSF 组件的 styleClass。我可以通过重新渲染由某些 ajax 事件触发的整个组件来使其工作。然而,提供的事件只会在不合时宜的时候触发,即当用户仍在与组件交互时,由于重绘而导致中断。

有没有办法在不重绘的情况下更新 styleClass?

工作代码 sn-ps,但具有不良行为:

<p:selectCheckboxMenu id="input" value="#{bean.value}">
  <f:selectItems value="#{bean.options}" />
  <f:attribute name="styleClass" value="#{bean.highlight(bean.value)}" />
  <p:ajax event="toggleSelect" update="input" />
  <p:ajax event="change" update="input" />
</p:selectCheckboxMenu>

还有后台bean:

@ManagedBean
@ViewScoped
public class Bean {

    private List<String> value;
    private Map<String, String> options;


    public String highlight(Object value) {
        return value == null || value instanceof Collection<?> && ((Collection<?>) value).isEmpty() ? "" : "ui-state-active";
    }

    /* getters & setters */
}

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    有没有办法在不重绘的情况下更新 styleClass?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2019-02-24
      • 2021-06-07
      • 2021-04-30
      • 2017-05-09
      相关资源
      最近更新 更多