我正在尝试在列中显示图标,而不是通过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>
在上述情况下,当“已提交”!=“已批准”时,理想情况下不应显示该图标,而是在每行中显示星形图标(值是否匹配)。
在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>';
}
答案 0 :(得分:2)
您尝试以下操作:
displayStyle = submitted == approved ? 'block': 'none';
return (
<div>
<span class="fa fa-2x fa-star" style={{ display: displayStyle }}></span>
</div>
)
答案 1 :(得分:0)
对我有用的代码:
var cssClass = item.Status = "approved" ? "fa fa-2x fa-star" : "myblankcssclass" ; //add various classes using ternary operator.
return '<div><span class=" '+ cssClass + '" </span></div>';
}