【问题标题】:Computed styleClass on an xp:button does not appear to work correctlyxp:button 上的计算 styleClass 似乎无法正常工作
【发布时间】:2016-03-08 20:22:01
【问题描述】:

我正在尝试将按钮上的 styleClass 计算为 BootStrap 按钮格式,但计算。该按钮始终显示为 btn 警告,并且不会在该按钮和 btn 成功之间切换。我有相同的代码

<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>

【问题讨论】:

    标签: twitter-bootstrap xpages


    【解决方案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 中修复的问题。

    【讨论】:

      【解决方案2】:

      我们在 Notes/Domino 8.5.3 中的计算按钮样式类中遇到了同样的问题,更改为 div 或 span 有帮助。从按钮样式类调用 Viewscope 变量时,它们看起来总是为空。只需将按钮标签更改为 div 即可实现完全相同的代码。

      【讨论】:

      • 我得试试。我刚刚添加了两个具有完全相反的可见公式的按钮,并且有效。可能不是最好的解决方案,但它有效。当我有时间消磨时间时会尝试这样的事情。
      • 我今天遇到了这个问题。是的,这是一团糟!我最终将按钮切换到
      【解决方案3】:

      比尔, 看起来您缺少一些问题/信息?它似乎停止了。

      我不认为这是可靠的:

      viewScope.vsShowHistory == key
      

      我不确定数据键是什么,但由于它是一个字符串,你可能想要更像: viewScope.vsShowHistory.equals(key)

      我认为你这样做的方式是比较 OBJECTS 而不是 VALUES。

      【讨论】:

      • 奇怪的是 为字形图标选择 styleClass 但没有使用相同的代码为
      • 我只是根据 viewScope.vsShowHistory == 键来切换按钮上的颜色和图标,所以我刚刚创建了两个按钮并根据 (viewScope.vsShowHistory) 翻转可见属性? true : 一个是假的,另一个是相反的。它有效,但是.....
      猜你喜欢
      • 1970-01-01
      • 2017-09-04
      • 2012-05-06
      • 2013-02-17
      • 2017-10-09
      • 2017-08-03
      • 2014-05-02
      • 2011-09-11
      • 2016-02-11
      相关资源
      最近更新 更多