【发布时间】:2019-11-13 10:51:39
【问题描述】:
我正在尝试通过 CSS 在列中显示图标而不是其文本。但是,我一直无法为这段代码找到正确的语法。
我的 reactjs 代码有:
return '<div><span class="fa fa-2x fa-star" style="display : [' + item.Status + ' == approved] ? block: none"></span></div>';
}
这导致下面的代码不起作用:
<div>
<span class="fa fa-2x fa-star" style="display : [submitted == approved] ? block: none"></span>
</div>
在上述情况下,当 "submitted" != "approved" 时,理想情况下不应该显示图标,但星形图标会显示在每一行中(无论值是否匹配)。
在 chrome 中,我也尝试了以下代码和许多类似的格式,但它们都不起作用:
<span class="fa fa-2x fa-star" style="[rejected == approved] ? display: block : display : none"></span>
<span class="fa fa-2x fa-star" style="display : [rejected == approved] ? block : none"></span>
<span class="fa fa-2x fa-star" style="display : "rejected" == "approved" ? block : none"></span>
我的要求是图标应该只有在 LHS 值和 RHS 值匹配时才可见,例如:“approved”=“approved”。
对我有用的解决方案是:
var cssClass = item.Status = "approved" ? "fa fa-2x fa-star" : "myblankcssclass" ; //add various classes using ternary operator.
return '<div><span class=" '+ cssClass + '" </span></div>';
}
【问题讨论】: