绑定不适用于属性“类”

时间:2015-03-09 08:39:29

标签: css sapui5

state模型中,我有:

...
"elementX": {valueState:"Success", valueStateText:"Great!" },
...

在XLMView中我使用Text元素:

<Text  text="{state>/elementX/valueStateText}" class="Success"/>

在我的style.css文件中,我有:

.Success{
    color: #008000;
}

一切正常,我看到了绿色文字!

如果将class绑定到valueState符合

<Text  text="{state>/elementX/valueStateText}" class="{state>/elementX/valueState}"/>

我看到黑色的文字(不是绿色)......为什么?

使用另一个组件作为对象Satus在我的表单中没有一个好的样式: enter image description here

1 个答案:

答案 0 :(得分:1)

不幸的是,class属性不可绑定 - 它甚至不是一个真正的属性。

无论如何,实现您的计划的变通方法很简单:您必须在任何属性上使用格式化程序,并在该格式化程序中使用addStyleClass / removeStyleClass方法添加/删除该类。 / p>

<Text text="{ parts: [ 'state>/elementX/valueStateText', 'state>/elementX/valueState' ], formatter: 'my.static.Formatter.format' }" />

my.static.Formatter.format = function(sValueStateText, sValueStateClass) {
  // this refers to the control in a static formatter
  // set the class on the control via code
  if (sValueStateClass) {
    this.addStyleClass(sValueStateClass);
  }

  // statically return the desired text to make it appear in the text property
  return sValueStateText;
};

BR 克里斯