gpt4 book ai didi

jsf - PrimeFaces 命令按钮 : Dynamically enable/disable icon

转载 作者:行者123 更新时间:2023-12-04 14:32:08 24 4
gpt4 key购买 nike

PrimeFaces 的 CommandButton 允许指定一个图标:

<p:commandButton value="Press me" icon="redBall" ... />

但是,我需要根据 JSF 托管 bean 属性启用/禁用图标。

我试过
<p:commandButton value="Press me" icon="#{bean.iconClass}" ... />

这适用于选择不同的图标,但不允许完全禁用图标(即获得与没有 icon= 属性相同的渲染)。我可以在 getIconClass() 中返回一个空字符串,但 PrimeFaces 仍会渲染额外的 <span>对于按钮内的图标,CSS 样式会导致此跨度与默认图标一起显示。

有没有办法告诉 PrimeFaces“我根本不需要图标”(除了完全去掉 icon= 属性)?

最佳答案

我可以想到两种方法而无需复制按钮。

  • 提供图标为 <f:attribute><c:if> 有条件地添加.
    <p:commandButton ...>
    <c:if test="#{not empty bean.icon}"><f:attribute name="icon" value="#{bean.icon}" /></c:if>
    </p:commandButton>

  • 设置一个样式类,它完全隐藏图标并有条件地提供它。

    .hideicon .ui-icon { display: none; }
    .hideicon .ui-button-text { padding-left: 1em; }


    <p:commandButton ... icon="#{bean.icon}" styleClass="#{empty bean.icon ? 'hideicon' : ''}" />
  • 关于jsf - PrimeFaces 命令按钮 : Dynamically enable/disable icon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878966/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com