2017-02-10 119 views
2

有没有办法可以使ObjectListItem的number属性的路径条件?SAPUI5条件路径绑定ObjectListItem

下面是它现在这样做:

<ObjectListItem number="{ path: 'basket>TotalPrice', formatter: '.formatPrice'}"> 

我需要做的这取决于是否{site>/ShowPrices}设置路径是真还是假。

<ObjectListItem number="{ path: = ${site>/ShowPrices} ? 'basket>TotalPrice' : '0', formatter: '.formatPrice'}"> 

E.g显示价格,如果网站>/ShowPrices是真实的,否则显示为0。

回答

1


你正在尝试是不可能的。您不能使用表达式绑定来分配绑定。您可以应用复杂的零件

<ObjectListItem number="{ parts : [{path: 'basket>TotalPrice'},{ path : 'site>/ShowPrices'}], formatter: '.formatPrice'}"> 

<ObjectListItem number="{= ${site>/ShowPrices} ? ${basket>TotalPrice} : '0' }"> 

您可以执行条件逻辑的结合。两者都将传递给格式化程序。绑定执行或格式化程序会发生什么情况。逻辑的结果存储在DOM中。

感谢和问候,
威拉

+0

我以某种方式错过了最终的解决方案,但它会在可见度上比在值上更好。请参阅上文。 – Keith

0

我不完全明白你的意思通过设置路径,我也没有在我面前电流的开发环境,但如果你只是想显示/隐藏ObjectListItem可以在visible属性中使用三元运算符。

visible="{= ${site>/ShowPrices} === true ? true: false}" 

我知道,我们一直使用其他控件,但IM与ObjectListItem不太fimilar类似的东西。 Visible属性不需要与您的值(篮子)相同的模型的一部分。

亲切的问候, 基思。

编辑 - 理解小姐的问题。见Veeraraghavan的答案。

+0

NO可以做,因为ObjectListitem包含多个参数。我可以使整个事情可见/不可见,但我只需要为一个参数(数字)做到这一点。 –

+0

我相信你可以在Object List中使用ObjectAttribute控件,然后使用ObjectAttribute的可见性来隐藏/显示这个价格。 – Keith

+0

你能举个例子吗? –