Sapui5 如何在XML视图中的属性绑定中放置链接条件?

Sapui5 如何在XML视图中的属性绑定中放置链接条件?,sapui5,conditional-operator,Sapui5,Conditional Operator,我的一个应用程序视图(invoicelist.view.xml)有以下代码 工作正常的代码: numberState=“{=${invoice>ExtendedPrice}>50?错误:'Success'}” controlObjectListItem的属性numberState允许我根据费率更改发票金额的颜色 然而,有效的代码只适用于两种颜色。我想用三个(Success表示绿色,Warning表示黄色,Error表示红色)。因此,为了做到这一点,我尝试了以下方法: ` 无法正常工作的代码

我的一个应用程序视图(invoicelist.view.xml)有以下代码

工作正常的代码:

numberState=“{=${invoice>ExtendedPrice}>50?错误:'Success'}”
control
ObjectListItem
的属性
numberState
允许我根据费率更改发票金额的颜色

然而,有效的代码只适用于两种颜色。我想用三个(
Success
表示绿色,
Warning
表示黄色,
Error
表示红色)。因此,为了做到这一点,我尝试了以下方法:

`
无法正常工作的代码:

numberState=“{=${invoice>ExtendedPrice}<20?'Success':${invoice>ExtendedPrice}>60?'Error':'Warning'}”
因为我是这方面的初学者,我现在只能认识到我使用的条件语句是一个三元运算符或多个条件语句,但是由于某些原因,当使用两个以上的间隔(可能是语法)时,它不能正常工作


因此,我想了解我做错了什么,或者在不使用该属性的情况下,我可以采取什么其他方式来做同样的事情。我希望你们中的一些人能给我一些启示

如果我正确理解了你的问题:

您的间隔定义错误。现在你有

如果价格高于20,则表示成功。如果大于50,则显示错误。否则显示警告

这些语句正是按此顺序检查的

假设你的价格是80美元

高于20吗?是的,这是成功的表现。不需要检查其余的,因为第一个条件已经匹配

如果你想要三个间歇,不要从中间的那个开始

<ObjectListItem numberState="{= ${invoice>ExtendedPrice} > 50 ? 'Error' : 20 >= ${invoice>ExtendedPrice} ? 'Warning' : 'Success' }" />

如果你真的想从中间那一个开始,那就让你的条件更严格一些

例如,“高于20但低于或等于50,则成功”


&和<是XML中的特殊字符,因此必须避开它们


但是你看,它很难调试,也很难阅读。我强烈推荐一种新的


您可以调试它(因为它是纯JavaScript)并编写可读的三值或if/else语句。

如果我正确理解您的问题:

您的间隔定义错误。现在你有

如果价格高于20,则表示成功。如果大于50,则显示错误。否则显示警告

这些语句正是按此顺序检查的

假设你的价格是80美元

高于20吗?是的,这是成功的表现。不需要检查其余的,因为第一个条件已经匹配

如果你想要三个间歇,不要从中间的那个开始

<ObjectListItem numberState="{= ${invoice>ExtendedPrice} > 50 ? 'Error' : 20 >= ${invoice>ExtendedPrice} ? 'Warning' : 'Success' }" />

如果你真的想从中间那一个开始,那就让你的条件更严格一些

例如,“高于20但低于或等于50,则成功”


&和<是XML中的特殊字符,因此必须避开它们


但是你看,它很难调试,也很难阅读。我强烈推荐一种新的


您可以调试它(因为它是纯JavaScript)并编写可读的三元语句或if/else语句。

让我们知道下面的答案是否有助于解决问题。请参阅“让我们知道以下答案是否有助于解决此问题”。看见