如何根据 UI5 中的值格式化 table 内的文本字段?

How to format a text-field inside of a table based on its value in UI5?

我有一个 table,其中一列 (sap.m.Text) 代表二进制值 (0/1),我想将其格式化为以下方式:

  1. 映射:0/1No/Yes
  2. 样式:No应该是红色
  3. 样式:Yes应该是绿色

我按照 Step 23: Custom Formatters 中的描述执行的映射,一切正常。

但我正在为样式格式设置而苦苦挣扎。在 Step 22: Expression Binding 中有一个示例如何使用 numberState 根据其值格式化数字,但是,sap.m.Text (<Text />) 没有这样的或任何相似 属性.

是否有任何简单的方法可以根据 sap.m.Text 的值应用样式格式?或者唯一的方法是手动应用 CSS 样式?

对于文本:

<ObjectStatus
    state = "{= ${isCompleted} === 0 ? 'Error' : 'Success'}"
    text = "{= ${isCompleted} === 0 ? ${i18n>STATUS_NO} : ${i18n>STATUS_YES}}" />

对于数字:

<ObjectNumber
    number = "{= ${isCompleted} === 0 ? ${i18n>STATUS_NO} : ${i18n>STATUS_YES}}"
    state = "{= ${isCompleted} === 0 ? 'Error' : 'Success'}" />