我正在尝试将按钮上的styleClass计算为BootStrap按钮格式,但是计算。该按钮始终显示为btn-warning,并且不会在该btn-success之间切换。我有相同的代码
<xp:button value="History" id="button1">
<xp:this.styleClass><![CDATA[#{javascript:var key:String = compositeData.linkKey;
if (viewScope.vsShowHistory == key){
return "btn btn-warning btn-sm"
}else{
return "btn btn-success btn-sm"
}}]]>
</xp:this.styleClass>
<xp:span>
<xp:this.styleClass><![CDATA[#{javascript:var key:String = compositeData.linkKey;
if (viewScope.vsShowHistory == key){
return "glyphicon glyphicon-minus-sign";
}else{
return "glyphicon glyphicon-plus-sign";
}}]]></xp:this.styleClass>
</xp:span>
<xp:eventHandler
event="onclick" submit="true" refreshMode="partial"
refreshId="panelHistory">
<xp:this.action><![CDATA[#{javascript:var key:String = compositeData.linkKey;
if (viewScope.vsShowHistory == key){
viewScope.remove("vsShowHistory");
sessionScope.remove("ssShowHistory");
}else{
viewScope.vsShowHistory = key;
sessionScope.ssShowHistory = key;
}}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
答案 0 :(得分:1)
由于用于向每个按钮控件添加样式类的模式,我怀疑问题出在Bootstrap主题中。您可以在Mark Leusink的博客文章中阅读更多相关信息,他还添加了建议的解决方法:http://linqed.eu/2014/08/28/xpages-gotcha-modeconcat-in-your-themes/
此处还有一个更简单的解决方法:Change style class by changing scoped variable value
这可能是我们需要在ExtLib中修复的内容。
答案 1 :(得分:0)
比尔, 您好像错过了一些问题/信息?它似乎停止了。
我认为这不可靠:
g++ (GCC) 2.9.3
我不确定数据键是什么,但由于它是一个字符串,您可能需要更多类似的内容: viewScope.vsShowHistory.equals(key)的
我认为他们这样做的方式是比较OBJECTS而不是VALUES。
答案 2 :(得分:0)
我们在Notes / Domino 8.5.3中对计算按钮样式表有同样的问题。更改为div或span帮助。从按钮样式中调用它们时,看起来Viewcope变量始终为null。完全相同的代码只需将按钮标记更改为div ..
即可