2017-02-10 121 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

你能舉個例子嗎? –