繁体   English   中英

如何在SAPUI5中动态将样式应用于标签元素

[英]How to apply style to a label element dynamically in SAPUI5

我是SAPUI5的新手,正在尝试将一些样式应用于label元素。 以下是控制器中的部分代码。

onAfterRendering: function() {
    var busFunId = this.getView().byId("busFun");
    jQuery.sap.byId(busFunId.getId()).parent().css("width", "20%");
},

下面是view.xml中label元素的代码行。

<Label text="Business Function" id="busFun"/>

在这里,label元素在具有默认css类的div中呈现。 我试图通过应用div元素(label元素的父元素)来调整宽度。

这没有生效。 如果有人遇到同样的问题,请分享解决方案。

呈现的HTML:

 <div class=""><label id="busFun" />sample</label></div> 

预期的HTML:

 <div class="" style="width:20%"><label id="busFun" />sample</label></div> 

如果只想调整宽度,则不要添加样式,而要使用width属性。 (检查sap.m.Label以获取更多可以使用的属性)。

<Label text="Business Function" width="20%"/>

如果属性不足以进行样式设置,则可以使用css-class来为Label设置样式。

<Label class="custom" text="Business Function" width="20%"/>

如果您决定使用css,请不要忘记在项目中包含fileName.css文件,并在manifest.json文件中将该文件注册为资源。

以下是一些选择:

通过JS与addStyleClass一起应用:

   this.getView().byId('yourControlId').addStyleClass("cssYouLoaded");

通过清单加载css文件:

"resources": {
            "css": [
                {
                    "uri": "content/css/style.css"
                }
            ]
        }

并应用于您的元素:

<Label text="Business Function" id="busFun" class="style"/>

如果您要定义css文件,请不要伪造!important。 sapui5 CSS通常会覆盖您的自定义代码。

.imagemCabecalho {
  margin: 0 !important;
  padding: 0.4em !important;
  visibility: visible;
  width: 8em;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM